durabletask_proto/
microsoft.durabletask.implementation.protobuf.rs

1// This file is @generated by prost-build.
2#[derive(serde::Serialize, serde::Deserialize)]
3#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct OrchestrationInstance {
5    #[prost(string, tag = "1")]
6    pub instance_id: ::prost::alloc::string::String,
7    #[prost(message, optional, tag = "2")]
8    pub execution_id: ::core::option::Option<::prost::alloc::string::String>,
9}
10impl ::prost::Name for OrchestrationInstance {
11    const NAME: &'static str = "OrchestrationInstance";
12    const PACKAGE: &'static str = "";
13    fn full_name() -> ::prost::alloc::string::String {
14        "OrchestrationInstance".into()
15    }
16    fn type_url() -> ::prost::alloc::string::String {
17        "/OrchestrationInstance".into()
18    }
19}
20#[derive(serde::Serialize, serde::Deserialize)]
21#[derive(Clone, PartialEq, ::prost::Message)]
22pub struct ActivityRequest {
23    #[prost(string, tag = "1")]
24    pub name: ::prost::alloc::string::String,
25    #[prost(message, optional, tag = "2")]
26    pub version: ::core::option::Option<::prost::alloc::string::String>,
27    #[prost(message, optional, tag = "3")]
28    pub input: ::core::option::Option<::prost::alloc::string::String>,
29    #[prost(message, optional, tag = "4")]
30    pub orchestration_instance: ::core::option::Option<OrchestrationInstance>,
31    #[prost(int32, tag = "5")]
32    pub task_id: i32,
33}
34impl ::prost::Name for ActivityRequest {
35    const NAME: &'static str = "ActivityRequest";
36    const PACKAGE: &'static str = "";
37    fn full_name() -> ::prost::alloc::string::String {
38        "ActivityRequest".into()
39    }
40    fn type_url() -> ::prost::alloc::string::String {
41        "/ActivityRequest".into()
42    }
43}
44#[derive(serde::Serialize, serde::Deserialize)]
45#[derive(Clone, PartialEq, ::prost::Message)]
46pub struct ActivityResponse {
47    #[prost(string, tag = "1")]
48    pub instance_id: ::prost::alloc::string::String,
49    #[prost(int32, tag = "2")]
50    pub task_id: i32,
51    #[prost(message, optional, tag = "3")]
52    pub result: ::core::option::Option<::prost::alloc::string::String>,
53    #[prost(message, optional, tag = "4")]
54    pub failure_details: ::core::option::Option<TaskFailureDetails>,
55}
56impl ::prost::Name for ActivityResponse {
57    const NAME: &'static str = "ActivityResponse";
58    const PACKAGE: &'static str = "";
59    fn full_name() -> ::prost::alloc::string::String {
60        "ActivityResponse".into()
61    }
62    fn type_url() -> ::prost::alloc::string::String {
63        "/ActivityResponse".into()
64    }
65}
66#[derive(serde::Serialize, serde::Deserialize)]
67#[derive(Clone, PartialEq, ::prost::Message)]
68pub struct TaskFailureDetails {
69    #[prost(string, tag = "1")]
70    pub error_type: ::prost::alloc::string::String,
71    #[prost(string, tag = "2")]
72    pub error_message: ::prost::alloc::string::String,
73    #[prost(message, optional, tag = "3")]
74    pub stack_trace: ::core::option::Option<::prost::alloc::string::String>,
75    #[prost(message, optional, boxed, tag = "4")]
76    pub inner_failure: ::core::option::Option<
77        ::prost::alloc::boxed::Box<TaskFailureDetails>,
78    >,
79    #[prost(bool, tag = "5")]
80    pub is_non_retriable: bool,
81}
82impl ::prost::Name for TaskFailureDetails {
83    const NAME: &'static str = "TaskFailureDetails";
84    const PACKAGE: &'static str = "";
85    fn full_name() -> ::prost::alloc::string::String {
86        "TaskFailureDetails".into()
87    }
88    fn type_url() -> ::prost::alloc::string::String {
89        "/TaskFailureDetails".into()
90    }
91}
92#[derive(serde::Serialize, serde::Deserialize)]
93#[derive(Clone, PartialEq, ::prost::Message)]
94pub struct ParentInstanceInfo {
95    #[prost(int32, tag = "1")]
96    pub task_scheduled_id: i32,
97    #[prost(message, optional, tag = "2")]
98    pub name: ::core::option::Option<::prost::alloc::string::String>,
99    #[prost(message, optional, tag = "3")]
100    pub version: ::core::option::Option<::prost::alloc::string::String>,
101    #[prost(message, optional, tag = "4")]
102    pub orchestration_instance: ::core::option::Option<OrchestrationInstance>,
103}
104impl ::prost::Name for ParentInstanceInfo {
105    const NAME: &'static str = "ParentInstanceInfo";
106    const PACKAGE: &'static str = "";
107    fn full_name() -> ::prost::alloc::string::String {
108        "ParentInstanceInfo".into()
109    }
110    fn type_url() -> ::prost::alloc::string::String {
111        "/ParentInstanceInfo".into()
112    }
113}
114#[derive(serde::Serialize, serde::Deserialize)]
115#[derive(Clone, PartialEq, ::prost::Message)]
116pub struct TraceContext {
117    #[prost(string, tag = "1")]
118    pub trace_parent: ::prost::alloc::string::String,
119    #[deprecated]
120    #[prost(string, tag = "2")]
121    pub span_id: ::prost::alloc::string::String,
122    #[prost(message, optional, tag = "3")]
123    pub trace_state: ::core::option::Option<::prost::alloc::string::String>,
124}
125impl ::prost::Name for TraceContext {
126    const NAME: &'static str = "TraceContext";
127    const PACKAGE: &'static str = "";
128    fn full_name() -> ::prost::alloc::string::String {
129        "TraceContext".into()
130    }
131    fn type_url() -> ::prost::alloc::string::String {
132        "/TraceContext".into()
133    }
134}
135#[derive(serde::Serialize, serde::Deserialize)]
136#[derive(Clone, PartialEq, ::prost::Message)]
137pub struct ExecutionStartedEvent {
138    #[prost(string, tag = "1")]
139    pub name: ::prost::alloc::string::String,
140    #[prost(message, optional, tag = "2")]
141    pub version: ::core::option::Option<::prost::alloc::string::String>,
142    #[prost(message, optional, tag = "3")]
143    pub input: ::core::option::Option<::prost::alloc::string::String>,
144    #[prost(message, optional, tag = "4")]
145    pub orchestration_instance: ::core::option::Option<OrchestrationInstance>,
146    #[prost(message, optional, tag = "5")]
147    pub parent_instance: ::core::option::Option<ParentInstanceInfo>,
148    #[prost(message, optional, tag = "6")]
149    pub scheduled_start_timestamp: ::core::option::Option<::prost_wkt_types::Timestamp>,
150    #[prost(message, optional, tag = "7")]
151    pub parent_trace_context: ::core::option::Option<TraceContext>,
152    #[prost(message, optional, tag = "8")]
153    pub orchestration_span_id: ::core::option::Option<::prost::alloc::string::String>,
154}
155impl ::prost::Name for ExecutionStartedEvent {
156    const NAME: &'static str = "ExecutionStartedEvent";
157    const PACKAGE: &'static str = "";
158    fn full_name() -> ::prost::alloc::string::String {
159        "ExecutionStartedEvent".into()
160    }
161    fn type_url() -> ::prost::alloc::string::String {
162        "/ExecutionStartedEvent".into()
163    }
164}
165#[derive(serde::Serialize, serde::Deserialize)]
166#[derive(Clone, PartialEq, ::prost::Message)]
167pub struct ExecutionCompletedEvent {
168    #[prost(enumeration = "OrchestrationStatus", tag = "1")]
169    pub orchestration_status: i32,
170    #[prost(message, optional, tag = "2")]
171    pub result: ::core::option::Option<::prost::alloc::string::String>,
172    #[prost(message, optional, tag = "3")]
173    pub failure_details: ::core::option::Option<TaskFailureDetails>,
174}
175impl ::prost::Name for ExecutionCompletedEvent {
176    const NAME: &'static str = "ExecutionCompletedEvent";
177    const PACKAGE: &'static str = "";
178    fn full_name() -> ::prost::alloc::string::String {
179        "ExecutionCompletedEvent".into()
180    }
181    fn type_url() -> ::prost::alloc::string::String {
182        "/ExecutionCompletedEvent".into()
183    }
184}
185#[derive(serde::Serialize, serde::Deserialize)]
186#[derive(Clone, PartialEq, ::prost::Message)]
187pub struct ExecutionTerminatedEvent {
188    #[prost(message, optional, tag = "1")]
189    pub input: ::core::option::Option<::prost::alloc::string::String>,
190    #[prost(bool, tag = "2")]
191    pub recurse: bool,
192}
193impl ::prost::Name for ExecutionTerminatedEvent {
194    const NAME: &'static str = "ExecutionTerminatedEvent";
195    const PACKAGE: &'static str = "";
196    fn full_name() -> ::prost::alloc::string::String {
197        "ExecutionTerminatedEvent".into()
198    }
199    fn type_url() -> ::prost::alloc::string::String {
200        "/ExecutionTerminatedEvent".into()
201    }
202}
203#[derive(serde::Serialize, serde::Deserialize)]
204#[derive(Clone, PartialEq, ::prost::Message)]
205pub struct TaskScheduledEvent {
206    #[prost(string, tag = "1")]
207    pub name: ::prost::alloc::string::String,
208    #[prost(message, optional, tag = "2")]
209    pub version: ::core::option::Option<::prost::alloc::string::String>,
210    #[prost(message, optional, tag = "3")]
211    pub input: ::core::option::Option<::prost::alloc::string::String>,
212    #[prost(message, optional, tag = "4")]
213    pub parent_trace_context: ::core::option::Option<TraceContext>,
214}
215impl ::prost::Name for TaskScheduledEvent {
216    const NAME: &'static str = "TaskScheduledEvent";
217    const PACKAGE: &'static str = "";
218    fn full_name() -> ::prost::alloc::string::String {
219        "TaskScheduledEvent".into()
220    }
221    fn type_url() -> ::prost::alloc::string::String {
222        "/TaskScheduledEvent".into()
223    }
224}
225#[derive(serde::Serialize, serde::Deserialize)]
226#[derive(Clone, PartialEq, ::prost::Message)]
227pub struct TaskCompletedEvent {
228    #[prost(int32, tag = "1")]
229    pub task_scheduled_id: i32,
230    #[prost(message, optional, tag = "2")]
231    pub result: ::core::option::Option<::prost::alloc::string::String>,
232}
233impl ::prost::Name for TaskCompletedEvent {
234    const NAME: &'static str = "TaskCompletedEvent";
235    const PACKAGE: &'static str = "";
236    fn full_name() -> ::prost::alloc::string::String {
237        "TaskCompletedEvent".into()
238    }
239    fn type_url() -> ::prost::alloc::string::String {
240        "/TaskCompletedEvent".into()
241    }
242}
243#[derive(serde::Serialize, serde::Deserialize)]
244#[derive(Clone, PartialEq, ::prost::Message)]
245pub struct TaskFailedEvent {
246    #[prost(int32, tag = "1")]
247    pub task_scheduled_id: i32,
248    #[prost(message, optional, tag = "2")]
249    pub failure_details: ::core::option::Option<TaskFailureDetails>,
250}
251impl ::prost::Name for TaskFailedEvent {
252    const NAME: &'static str = "TaskFailedEvent";
253    const PACKAGE: &'static str = "";
254    fn full_name() -> ::prost::alloc::string::String {
255        "TaskFailedEvent".into()
256    }
257    fn type_url() -> ::prost::alloc::string::String {
258        "/TaskFailedEvent".into()
259    }
260}
261#[derive(serde::Serialize, serde::Deserialize)]
262#[derive(Clone, PartialEq, ::prost::Message)]
263pub struct SubOrchestrationInstanceCreatedEvent {
264    #[prost(string, tag = "1")]
265    pub instance_id: ::prost::alloc::string::String,
266    #[prost(string, tag = "2")]
267    pub name: ::prost::alloc::string::String,
268    #[prost(message, optional, tag = "3")]
269    pub version: ::core::option::Option<::prost::alloc::string::String>,
270    #[prost(message, optional, tag = "4")]
271    pub input: ::core::option::Option<::prost::alloc::string::String>,
272    #[prost(message, optional, tag = "5")]
273    pub parent_trace_context: ::core::option::Option<TraceContext>,
274}
275impl ::prost::Name for SubOrchestrationInstanceCreatedEvent {
276    const NAME: &'static str = "SubOrchestrationInstanceCreatedEvent";
277    const PACKAGE: &'static str = "";
278    fn full_name() -> ::prost::alloc::string::String {
279        "SubOrchestrationInstanceCreatedEvent".into()
280    }
281    fn type_url() -> ::prost::alloc::string::String {
282        "/SubOrchestrationInstanceCreatedEvent".into()
283    }
284}
285#[derive(serde::Serialize, serde::Deserialize)]
286#[derive(Clone, PartialEq, ::prost::Message)]
287pub struct SubOrchestrationInstanceCompletedEvent {
288    #[prost(int32, tag = "1")]
289    pub task_scheduled_id: i32,
290    #[prost(message, optional, tag = "2")]
291    pub result: ::core::option::Option<::prost::alloc::string::String>,
292}
293impl ::prost::Name for SubOrchestrationInstanceCompletedEvent {
294    const NAME: &'static str = "SubOrchestrationInstanceCompletedEvent";
295    const PACKAGE: &'static str = "";
296    fn full_name() -> ::prost::alloc::string::String {
297        "SubOrchestrationInstanceCompletedEvent".into()
298    }
299    fn type_url() -> ::prost::alloc::string::String {
300        "/SubOrchestrationInstanceCompletedEvent".into()
301    }
302}
303#[derive(serde::Serialize, serde::Deserialize)]
304#[derive(Clone, PartialEq, ::prost::Message)]
305pub struct SubOrchestrationInstanceFailedEvent {
306    #[prost(int32, tag = "1")]
307    pub task_scheduled_id: i32,
308    #[prost(message, optional, tag = "2")]
309    pub failure_details: ::core::option::Option<TaskFailureDetails>,
310}
311impl ::prost::Name for SubOrchestrationInstanceFailedEvent {
312    const NAME: &'static str = "SubOrchestrationInstanceFailedEvent";
313    const PACKAGE: &'static str = "";
314    fn full_name() -> ::prost::alloc::string::String {
315        "SubOrchestrationInstanceFailedEvent".into()
316    }
317    fn type_url() -> ::prost::alloc::string::String {
318        "/SubOrchestrationInstanceFailedEvent".into()
319    }
320}
321#[derive(serde::Serialize, serde::Deserialize)]
322#[derive(Clone, Copy, PartialEq, ::prost::Message)]
323pub struct TimerCreatedEvent {
324    #[prost(message, optional, tag = "1")]
325    pub fire_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
326}
327impl ::prost::Name for TimerCreatedEvent {
328    const NAME: &'static str = "TimerCreatedEvent";
329    const PACKAGE: &'static str = "";
330    fn full_name() -> ::prost::alloc::string::String {
331        "TimerCreatedEvent".into()
332    }
333    fn type_url() -> ::prost::alloc::string::String {
334        "/TimerCreatedEvent".into()
335    }
336}
337#[derive(serde::Serialize, serde::Deserialize)]
338#[derive(Clone, Copy, PartialEq, ::prost::Message)]
339pub struct TimerFiredEvent {
340    #[prost(message, optional, tag = "1")]
341    pub fire_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
342    #[prost(int32, tag = "2")]
343    pub timer_id: i32,
344}
345impl ::prost::Name for TimerFiredEvent {
346    const NAME: &'static str = "TimerFiredEvent";
347    const PACKAGE: &'static str = "";
348    fn full_name() -> ::prost::alloc::string::String {
349        "TimerFiredEvent".into()
350    }
351    fn type_url() -> ::prost::alloc::string::String {
352        "/TimerFiredEvent".into()
353    }
354}
355/// No payload data
356#[derive(serde::Serialize, serde::Deserialize)]
357#[derive(Clone, Copy, PartialEq, ::prost::Message)]
358pub struct OrchestratorStartedEvent {}
359impl ::prost::Name for OrchestratorStartedEvent {
360    const NAME: &'static str = "OrchestratorStartedEvent";
361    const PACKAGE: &'static str = "";
362    fn full_name() -> ::prost::alloc::string::String {
363        "OrchestratorStartedEvent".into()
364    }
365    fn type_url() -> ::prost::alloc::string::String {
366        "/OrchestratorStartedEvent".into()
367    }
368}
369/// No payload data
370#[derive(serde::Serialize, serde::Deserialize)]
371#[derive(Clone, Copy, PartialEq, ::prost::Message)]
372pub struct OrchestratorCompletedEvent {}
373impl ::prost::Name for OrchestratorCompletedEvent {
374    const NAME: &'static str = "OrchestratorCompletedEvent";
375    const PACKAGE: &'static str = "";
376    fn full_name() -> ::prost::alloc::string::String {
377        "OrchestratorCompletedEvent".into()
378    }
379    fn type_url() -> ::prost::alloc::string::String {
380        "/OrchestratorCompletedEvent".into()
381    }
382}
383#[derive(serde::Serialize, serde::Deserialize)]
384#[derive(Clone, PartialEq, ::prost::Message)]
385pub struct EventSentEvent {
386    #[prost(string, tag = "1")]
387    pub instance_id: ::prost::alloc::string::String,
388    #[prost(string, tag = "2")]
389    pub name: ::prost::alloc::string::String,
390    #[prost(message, optional, tag = "3")]
391    pub input: ::core::option::Option<::prost::alloc::string::String>,
392}
393impl ::prost::Name for EventSentEvent {
394    const NAME: &'static str = "EventSentEvent";
395    const PACKAGE: &'static str = "";
396    fn full_name() -> ::prost::alloc::string::String {
397        "EventSentEvent".into()
398    }
399    fn type_url() -> ::prost::alloc::string::String {
400        "/EventSentEvent".into()
401    }
402}
403#[derive(serde::Serialize, serde::Deserialize)]
404#[derive(Clone, PartialEq, ::prost::Message)]
405pub struct EventRaisedEvent {
406    #[prost(string, tag = "1")]
407    pub name: ::prost::alloc::string::String,
408    #[prost(message, optional, tag = "2")]
409    pub input: ::core::option::Option<::prost::alloc::string::String>,
410}
411impl ::prost::Name for EventRaisedEvent {
412    const NAME: &'static str = "EventRaisedEvent";
413    const PACKAGE: &'static str = "";
414    fn full_name() -> ::prost::alloc::string::String {
415        "EventRaisedEvent".into()
416    }
417    fn type_url() -> ::prost::alloc::string::String {
418        "/EventRaisedEvent".into()
419    }
420}
421#[derive(serde::Serialize, serde::Deserialize)]
422#[derive(Clone, PartialEq, ::prost::Message)]
423pub struct GenericEvent {
424    #[prost(message, optional, tag = "1")]
425    pub data: ::core::option::Option<::prost::alloc::string::String>,
426}
427impl ::prost::Name for GenericEvent {
428    const NAME: &'static str = "GenericEvent";
429    const PACKAGE: &'static str = "";
430    fn full_name() -> ::prost::alloc::string::String {
431        "GenericEvent".into()
432    }
433    fn type_url() -> ::prost::alloc::string::String {
434        "/GenericEvent".into()
435    }
436}
437#[derive(serde::Serialize, serde::Deserialize)]
438#[derive(Clone, PartialEq, ::prost::Message)]
439pub struct HistoryStateEvent {
440    #[prost(message, optional, tag = "1")]
441    pub orchestration_state: ::core::option::Option<OrchestrationState>,
442}
443impl ::prost::Name for HistoryStateEvent {
444    const NAME: &'static str = "HistoryStateEvent";
445    const PACKAGE: &'static str = "";
446    fn full_name() -> ::prost::alloc::string::String {
447        "HistoryStateEvent".into()
448    }
449    fn type_url() -> ::prost::alloc::string::String {
450        "/HistoryStateEvent".into()
451    }
452}
453#[derive(serde::Serialize, serde::Deserialize)]
454#[derive(Clone, PartialEq, ::prost::Message)]
455pub struct ContinueAsNewEvent {
456    #[prost(message, optional, tag = "1")]
457    pub input: ::core::option::Option<::prost::alloc::string::String>,
458}
459impl ::prost::Name for ContinueAsNewEvent {
460    const NAME: &'static str = "ContinueAsNewEvent";
461    const PACKAGE: &'static str = "";
462    fn full_name() -> ::prost::alloc::string::String {
463        "ContinueAsNewEvent".into()
464    }
465    fn type_url() -> ::prost::alloc::string::String {
466        "/ContinueAsNewEvent".into()
467    }
468}
469#[derive(serde::Serialize, serde::Deserialize)]
470#[derive(Clone, PartialEq, ::prost::Message)]
471pub struct ExecutionSuspendedEvent {
472    #[prost(message, optional, tag = "1")]
473    pub input: ::core::option::Option<::prost::alloc::string::String>,
474}
475impl ::prost::Name for ExecutionSuspendedEvent {
476    const NAME: &'static str = "ExecutionSuspendedEvent";
477    const PACKAGE: &'static str = "";
478    fn full_name() -> ::prost::alloc::string::String {
479        "ExecutionSuspendedEvent".into()
480    }
481    fn type_url() -> ::prost::alloc::string::String {
482        "/ExecutionSuspendedEvent".into()
483    }
484}
485#[derive(serde::Serialize, serde::Deserialize)]
486#[derive(Clone, PartialEq, ::prost::Message)]
487pub struct ExecutionResumedEvent {
488    #[prost(message, optional, tag = "1")]
489    pub input: ::core::option::Option<::prost::alloc::string::String>,
490}
491impl ::prost::Name for ExecutionResumedEvent {
492    const NAME: &'static str = "ExecutionResumedEvent";
493    const PACKAGE: &'static str = "";
494    fn full_name() -> ::prost::alloc::string::String {
495        "ExecutionResumedEvent".into()
496    }
497    fn type_url() -> ::prost::alloc::string::String {
498        "/ExecutionResumedEvent".into()
499    }
500}
501#[derive(serde::Serialize, serde::Deserialize)]
502#[derive(Clone, PartialEq, ::prost::Message)]
503pub struct HistoryEvent {
504    #[prost(int32, tag = "1")]
505    pub event_id: i32,
506    #[prost(message, optional, tag = "2")]
507    pub timestamp: ::core::option::Option<::prost_wkt_types::Timestamp>,
508    #[prost(
509        oneof = "history_event::EventType",
510        tags = "3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22"
511    )]
512    pub event_type: ::core::option::Option<history_event::EventType>,
513}
514/// Nested message and enum types in `HistoryEvent`.
515pub mod history_event {
516    #[derive(serde::Serialize, serde::Deserialize)]
517    #[derive(Clone, PartialEq, ::prost::Oneof)]
518    pub enum EventType {
519        #[prost(message, tag = "3")]
520        ExecutionStarted(super::ExecutionStartedEvent),
521        #[prost(message, tag = "4")]
522        ExecutionCompleted(super::ExecutionCompletedEvent),
523        #[prost(message, tag = "5")]
524        ExecutionTerminated(super::ExecutionTerminatedEvent),
525        #[prost(message, tag = "6")]
526        TaskScheduled(super::TaskScheduledEvent),
527        #[prost(message, tag = "7")]
528        TaskCompleted(super::TaskCompletedEvent),
529        #[prost(message, tag = "8")]
530        TaskFailed(super::TaskFailedEvent),
531        #[prost(message, tag = "9")]
532        SubOrchestrationInstanceCreated(super::SubOrchestrationInstanceCreatedEvent),
533        #[prost(message, tag = "10")]
534        SubOrchestrationInstanceCompleted(super::SubOrchestrationInstanceCompletedEvent),
535        #[prost(message, tag = "11")]
536        SubOrchestrationInstanceFailed(super::SubOrchestrationInstanceFailedEvent),
537        #[prost(message, tag = "12")]
538        TimerCreated(super::TimerCreatedEvent),
539        #[prost(message, tag = "13")]
540        TimerFired(super::TimerFiredEvent),
541        #[prost(message, tag = "14")]
542        OrchestratorStarted(super::OrchestratorStartedEvent),
543        #[prost(message, tag = "15")]
544        OrchestratorCompleted(super::OrchestratorCompletedEvent),
545        #[prost(message, tag = "16")]
546        EventSent(super::EventSentEvent),
547        #[prost(message, tag = "17")]
548        EventRaised(super::EventRaisedEvent),
549        #[prost(message, tag = "18")]
550        GenericEvent(super::GenericEvent),
551        #[prost(message, tag = "19")]
552        HistoryState(super::HistoryStateEvent),
553        #[prost(message, tag = "20")]
554        ContinueAsNew(super::ContinueAsNewEvent),
555        #[prost(message, tag = "21")]
556        ExecutionSuspended(super::ExecutionSuspendedEvent),
557        #[prost(message, tag = "22")]
558        ExecutionResumed(super::ExecutionResumedEvent),
559    }
560}
561impl ::prost::Name for HistoryEvent {
562    const NAME: &'static str = "HistoryEvent";
563    const PACKAGE: &'static str = "";
564    fn full_name() -> ::prost::alloc::string::String {
565        "HistoryEvent".into()
566    }
567    fn type_url() -> ::prost::alloc::string::String {
568        "/HistoryEvent".into()
569    }
570}
571#[derive(serde::Serialize, serde::Deserialize)]
572#[derive(Clone, PartialEq, ::prost::Message)]
573pub struct ScheduleTaskAction {
574    #[prost(string, tag = "1")]
575    pub name: ::prost::alloc::string::String,
576    #[prost(message, optional, tag = "2")]
577    pub version: ::core::option::Option<::prost::alloc::string::String>,
578    #[prost(message, optional, tag = "3")]
579    pub input: ::core::option::Option<::prost::alloc::string::String>,
580}
581impl ::prost::Name for ScheduleTaskAction {
582    const NAME: &'static str = "ScheduleTaskAction";
583    const PACKAGE: &'static str = "";
584    fn full_name() -> ::prost::alloc::string::String {
585        "ScheduleTaskAction".into()
586    }
587    fn type_url() -> ::prost::alloc::string::String {
588        "/ScheduleTaskAction".into()
589    }
590}
591#[derive(serde::Serialize, serde::Deserialize)]
592#[derive(Clone, PartialEq, ::prost::Message)]
593pub struct CreateSubOrchestrationAction {
594    #[prost(string, tag = "1")]
595    pub instance_id: ::prost::alloc::string::String,
596    #[prost(string, tag = "2")]
597    pub name: ::prost::alloc::string::String,
598    #[prost(message, optional, tag = "3")]
599    pub version: ::core::option::Option<::prost::alloc::string::String>,
600    #[prost(message, optional, tag = "4")]
601    pub input: ::core::option::Option<::prost::alloc::string::String>,
602}
603impl ::prost::Name for CreateSubOrchestrationAction {
604    const NAME: &'static str = "CreateSubOrchestrationAction";
605    const PACKAGE: &'static str = "";
606    fn full_name() -> ::prost::alloc::string::String {
607        "CreateSubOrchestrationAction".into()
608    }
609    fn type_url() -> ::prost::alloc::string::String {
610        "/CreateSubOrchestrationAction".into()
611    }
612}
613#[derive(serde::Serialize, serde::Deserialize)]
614#[derive(Clone, Copy, PartialEq, ::prost::Message)]
615pub struct CreateTimerAction {
616    #[prost(message, optional, tag = "1")]
617    pub fire_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
618}
619impl ::prost::Name for CreateTimerAction {
620    const NAME: &'static str = "CreateTimerAction";
621    const PACKAGE: &'static str = "";
622    fn full_name() -> ::prost::alloc::string::String {
623        "CreateTimerAction".into()
624    }
625    fn type_url() -> ::prost::alloc::string::String {
626        "/CreateTimerAction".into()
627    }
628}
629#[derive(serde::Serialize, serde::Deserialize)]
630#[derive(Clone, PartialEq, ::prost::Message)]
631pub struct SendEventAction {
632    #[prost(message, optional, tag = "1")]
633    pub instance: ::core::option::Option<OrchestrationInstance>,
634    #[prost(string, tag = "2")]
635    pub name: ::prost::alloc::string::String,
636    #[prost(message, optional, tag = "3")]
637    pub data: ::core::option::Option<::prost::alloc::string::String>,
638}
639impl ::prost::Name for SendEventAction {
640    const NAME: &'static str = "SendEventAction";
641    const PACKAGE: &'static str = "";
642    fn full_name() -> ::prost::alloc::string::String {
643        "SendEventAction".into()
644    }
645    fn type_url() -> ::prost::alloc::string::String {
646        "/SendEventAction".into()
647    }
648}
649#[derive(serde::Serialize, serde::Deserialize)]
650#[derive(Clone, PartialEq, ::prost::Message)]
651pub struct CompleteOrchestrationAction {
652    #[prost(enumeration = "OrchestrationStatus", tag = "1")]
653    pub orchestration_status: i32,
654    #[prost(message, optional, tag = "2")]
655    pub result: ::core::option::Option<::prost::alloc::string::String>,
656    #[prost(message, optional, tag = "3")]
657    pub details: ::core::option::Option<::prost::alloc::string::String>,
658    #[prost(message, optional, tag = "4")]
659    pub new_version: ::core::option::Option<::prost::alloc::string::String>,
660    #[prost(message, repeated, tag = "5")]
661    pub carryover_events: ::prost::alloc::vec::Vec<HistoryEvent>,
662    #[prost(message, optional, tag = "6")]
663    pub failure_details: ::core::option::Option<TaskFailureDetails>,
664}
665impl ::prost::Name for CompleteOrchestrationAction {
666    const NAME: &'static str = "CompleteOrchestrationAction";
667    const PACKAGE: &'static str = "";
668    fn full_name() -> ::prost::alloc::string::String {
669        "CompleteOrchestrationAction".into()
670    }
671    fn type_url() -> ::prost::alloc::string::String {
672        "/CompleteOrchestrationAction".into()
673    }
674}
675#[derive(serde::Serialize, serde::Deserialize)]
676#[derive(Clone, PartialEq, ::prost::Message)]
677pub struct TerminateOrchestrationAction {
678    #[prost(string, tag = "1")]
679    pub instance_id: ::prost::alloc::string::String,
680    #[prost(message, optional, tag = "2")]
681    pub reason: ::core::option::Option<::prost::alloc::string::String>,
682    #[prost(bool, tag = "3")]
683    pub recurse: bool,
684}
685impl ::prost::Name for TerminateOrchestrationAction {
686    const NAME: &'static str = "TerminateOrchestrationAction";
687    const PACKAGE: &'static str = "";
688    fn full_name() -> ::prost::alloc::string::String {
689        "TerminateOrchestrationAction".into()
690    }
691    fn type_url() -> ::prost::alloc::string::String {
692        "/TerminateOrchestrationAction".into()
693    }
694}
695#[derive(serde::Serialize, serde::Deserialize)]
696#[derive(Clone, PartialEq, ::prost::Message)]
697pub struct OrchestratorAction {
698    #[prost(int32, tag = "1")]
699    pub id: i32,
700    #[prost(
701        oneof = "orchestrator_action::OrchestratorActionType",
702        tags = "2, 3, 4, 5, 6, 7"
703    )]
704    pub orchestrator_action_type: ::core::option::Option<
705        orchestrator_action::OrchestratorActionType,
706    >,
707}
708/// Nested message and enum types in `OrchestratorAction`.
709pub mod orchestrator_action {
710    #[derive(serde::Serialize, serde::Deserialize)]
711    #[derive(Clone, PartialEq, ::prost::Oneof)]
712    pub enum OrchestratorActionType {
713        #[prost(message, tag = "2")]
714        ScheduleTask(super::ScheduleTaskAction),
715        #[prost(message, tag = "3")]
716        CreateSubOrchestration(super::CreateSubOrchestrationAction),
717        #[prost(message, tag = "4")]
718        CreateTimer(super::CreateTimerAction),
719        #[prost(message, tag = "5")]
720        SendEvent(super::SendEventAction),
721        #[prost(message, tag = "6")]
722        CompleteOrchestration(super::CompleteOrchestrationAction),
723        #[prost(message, tag = "7")]
724        TerminateOrchestration(super::TerminateOrchestrationAction),
725    }
726}
727impl ::prost::Name for OrchestratorAction {
728    const NAME: &'static str = "OrchestratorAction";
729    const PACKAGE: &'static str = "";
730    fn full_name() -> ::prost::alloc::string::String {
731        "OrchestratorAction".into()
732    }
733    fn type_url() -> ::prost::alloc::string::String {
734        "/OrchestratorAction".into()
735    }
736}
737#[derive(serde::Serialize, serde::Deserialize)]
738#[derive(Clone, PartialEq, ::prost::Message)]
739pub struct OrchestratorRequest {
740    #[prost(string, tag = "1")]
741    pub instance_id: ::prost::alloc::string::String,
742    #[prost(message, optional, tag = "2")]
743    pub execution_id: ::core::option::Option<::prost::alloc::string::String>,
744    #[prost(message, repeated, tag = "3")]
745    pub past_events: ::prost::alloc::vec::Vec<HistoryEvent>,
746    #[prost(message, repeated, tag = "4")]
747    pub new_events: ::prost::alloc::vec::Vec<HistoryEvent>,
748    #[prost(message, optional, tag = "5")]
749    pub entity_parameters: ::core::option::Option<OrchestratorEntityParameters>,
750}
751impl ::prost::Name for OrchestratorRequest {
752    const NAME: &'static str = "OrchestratorRequest";
753    const PACKAGE: &'static str = "";
754    fn full_name() -> ::prost::alloc::string::String {
755        "OrchestratorRequest".into()
756    }
757    fn type_url() -> ::prost::alloc::string::String {
758        "/OrchestratorRequest".into()
759    }
760}
761#[derive(serde::Serialize, serde::Deserialize)]
762#[derive(Clone, PartialEq, ::prost::Message)]
763pub struct OrchestratorResponse {
764    #[prost(string, tag = "1")]
765    pub instance_id: ::prost::alloc::string::String,
766    #[prost(message, repeated, tag = "2")]
767    pub actions: ::prost::alloc::vec::Vec<OrchestratorAction>,
768    #[prost(message, optional, tag = "3")]
769    pub custom_status: ::core::option::Option<::prost::alloc::string::String>,
770}
771impl ::prost::Name for OrchestratorResponse {
772    const NAME: &'static str = "OrchestratorResponse";
773    const PACKAGE: &'static str = "";
774    fn full_name() -> ::prost::alloc::string::String {
775        "OrchestratorResponse".into()
776    }
777    fn type_url() -> ::prost::alloc::string::String {
778        "/OrchestratorResponse".into()
779    }
780}
781#[derive(serde::Serialize, serde::Deserialize)]
782#[derive(Clone, PartialEq, ::prost::Message)]
783pub struct CreateInstanceRequest {
784    #[prost(string, tag = "1")]
785    pub instance_id: ::prost::alloc::string::String,
786    #[prost(string, tag = "2")]
787    pub name: ::prost::alloc::string::String,
788    #[prost(message, optional, tag = "3")]
789    pub version: ::core::option::Option<::prost::alloc::string::String>,
790    #[prost(message, optional, tag = "4")]
791    pub input: ::core::option::Option<::prost::alloc::string::String>,
792    #[prost(message, optional, tag = "5")]
793    pub scheduled_start_timestamp: ::core::option::Option<::prost_wkt_types::Timestamp>,
794    #[prost(message, optional, tag = "6")]
795    pub orchestration_id_reuse_policy: ::core::option::Option<
796        OrchestrationIdReusePolicy,
797    >,
798}
799impl ::prost::Name for CreateInstanceRequest {
800    const NAME: &'static str = "CreateInstanceRequest";
801    const PACKAGE: &'static str = "";
802    fn full_name() -> ::prost::alloc::string::String {
803        "CreateInstanceRequest".into()
804    }
805    fn type_url() -> ::prost::alloc::string::String {
806        "/CreateInstanceRequest".into()
807    }
808}
809#[derive(serde::Serialize, serde::Deserialize)]
810#[derive(Clone, PartialEq, ::prost::Message)]
811pub struct OrchestrationIdReusePolicy {
812    #[prost(enumeration = "OrchestrationStatus", repeated, tag = "1")]
813    pub operation_status: ::prost::alloc::vec::Vec<i32>,
814    #[prost(enumeration = "CreateOrchestrationAction", tag = "2")]
815    pub action: i32,
816}
817impl ::prost::Name for OrchestrationIdReusePolicy {
818    const NAME: &'static str = "OrchestrationIdReusePolicy";
819    const PACKAGE: &'static str = "";
820    fn full_name() -> ::prost::alloc::string::String {
821        "OrchestrationIdReusePolicy".into()
822    }
823    fn type_url() -> ::prost::alloc::string::String {
824        "/OrchestrationIdReusePolicy".into()
825    }
826}
827#[derive(serde::Serialize, serde::Deserialize)]
828#[derive(Clone, PartialEq, ::prost::Message)]
829pub struct CreateInstanceResponse {
830    #[prost(string, tag = "1")]
831    pub instance_id: ::prost::alloc::string::String,
832}
833impl ::prost::Name for CreateInstanceResponse {
834    const NAME: &'static str = "CreateInstanceResponse";
835    const PACKAGE: &'static str = "";
836    fn full_name() -> ::prost::alloc::string::String {
837        "CreateInstanceResponse".into()
838    }
839    fn type_url() -> ::prost::alloc::string::String {
840        "/CreateInstanceResponse".into()
841    }
842}
843#[derive(serde::Serialize, serde::Deserialize)]
844#[derive(Clone, PartialEq, ::prost::Message)]
845pub struct GetInstanceRequest {
846    #[prost(string, tag = "1")]
847    pub instance_id: ::prost::alloc::string::String,
848    #[prost(bool, tag = "2")]
849    pub get_inputs_and_outputs: bool,
850}
851impl ::prost::Name for GetInstanceRequest {
852    const NAME: &'static str = "GetInstanceRequest";
853    const PACKAGE: &'static str = "";
854    fn full_name() -> ::prost::alloc::string::String {
855        "GetInstanceRequest".into()
856    }
857    fn type_url() -> ::prost::alloc::string::String {
858        "/GetInstanceRequest".into()
859    }
860}
861#[derive(serde::Serialize, serde::Deserialize)]
862#[derive(Clone, PartialEq, ::prost::Message)]
863pub struct GetInstanceResponse {
864    #[prost(bool, tag = "1")]
865    pub exists: bool,
866    #[prost(message, optional, tag = "2")]
867    pub orchestration_state: ::core::option::Option<OrchestrationState>,
868}
869impl ::prost::Name for GetInstanceResponse {
870    const NAME: &'static str = "GetInstanceResponse";
871    const PACKAGE: &'static str = "";
872    fn full_name() -> ::prost::alloc::string::String {
873        "GetInstanceResponse".into()
874    }
875    fn type_url() -> ::prost::alloc::string::String {
876        "/GetInstanceResponse".into()
877    }
878}
879#[derive(serde::Serialize, serde::Deserialize)]
880#[derive(Clone, PartialEq, ::prost::Message)]
881pub struct RewindInstanceRequest {
882    #[prost(string, tag = "1")]
883    pub instance_id: ::prost::alloc::string::String,
884    #[prost(message, optional, tag = "2")]
885    pub reason: ::core::option::Option<::prost::alloc::string::String>,
886}
887impl ::prost::Name for RewindInstanceRequest {
888    const NAME: &'static str = "RewindInstanceRequest";
889    const PACKAGE: &'static str = "";
890    fn full_name() -> ::prost::alloc::string::String {
891        "RewindInstanceRequest".into()
892    }
893    fn type_url() -> ::prost::alloc::string::String {
894        "/RewindInstanceRequest".into()
895    }
896}
897/// Empty for now. Using explicit type incase we want to add content later.
898#[derive(serde::Serialize, serde::Deserialize)]
899#[derive(Clone, Copy, PartialEq, ::prost::Message)]
900pub struct RewindInstanceResponse {}
901impl ::prost::Name for RewindInstanceResponse {
902    const NAME: &'static str = "RewindInstanceResponse";
903    const PACKAGE: &'static str = "";
904    fn full_name() -> ::prost::alloc::string::String {
905        "RewindInstanceResponse".into()
906    }
907    fn type_url() -> ::prost::alloc::string::String {
908        "/RewindInstanceResponse".into()
909    }
910}
911#[derive(serde::Serialize, serde::Deserialize)]
912#[derive(Clone, PartialEq, ::prost::Message)]
913pub struct OrchestrationState {
914    #[prost(string, tag = "1")]
915    pub instance_id: ::prost::alloc::string::String,
916    #[prost(string, tag = "2")]
917    pub name: ::prost::alloc::string::String,
918    #[prost(message, optional, tag = "3")]
919    pub version: ::core::option::Option<::prost::alloc::string::String>,
920    #[prost(enumeration = "OrchestrationStatus", tag = "4")]
921    pub orchestration_status: i32,
922    #[prost(message, optional, tag = "5")]
923    pub scheduled_start_timestamp: ::core::option::Option<::prost_wkt_types::Timestamp>,
924    #[prost(message, optional, tag = "6")]
925    pub created_timestamp: ::core::option::Option<::prost_wkt_types::Timestamp>,
926    #[prost(message, optional, tag = "7")]
927    pub last_updated_timestamp: ::core::option::Option<::prost_wkt_types::Timestamp>,
928    #[prost(message, optional, tag = "8")]
929    pub input: ::core::option::Option<::prost::alloc::string::String>,
930    #[prost(message, optional, tag = "9")]
931    pub output: ::core::option::Option<::prost::alloc::string::String>,
932    #[prost(message, optional, tag = "10")]
933    pub custom_status: ::core::option::Option<::prost::alloc::string::String>,
934    #[prost(message, optional, tag = "11")]
935    pub failure_details: ::core::option::Option<TaskFailureDetails>,
936}
937impl ::prost::Name for OrchestrationState {
938    const NAME: &'static str = "OrchestrationState";
939    const PACKAGE: &'static str = "";
940    fn full_name() -> ::prost::alloc::string::String {
941        "OrchestrationState".into()
942    }
943    fn type_url() -> ::prost::alloc::string::String {
944        "/OrchestrationState".into()
945    }
946}
947#[derive(serde::Serialize, serde::Deserialize)]
948#[derive(Clone, PartialEq, ::prost::Message)]
949pub struct RaiseEventRequest {
950    #[prost(string, tag = "1")]
951    pub instance_id: ::prost::alloc::string::String,
952    #[prost(string, tag = "2")]
953    pub name: ::prost::alloc::string::String,
954    #[prost(message, optional, tag = "3")]
955    pub input: ::core::option::Option<::prost::alloc::string::String>,
956}
957impl ::prost::Name for RaiseEventRequest {
958    const NAME: &'static str = "RaiseEventRequest";
959    const PACKAGE: &'static str = "";
960    fn full_name() -> ::prost::alloc::string::String {
961        "RaiseEventRequest".into()
962    }
963    fn type_url() -> ::prost::alloc::string::String {
964        "/RaiseEventRequest".into()
965    }
966}
967/// No payload
968#[derive(serde::Serialize, serde::Deserialize)]
969#[derive(Clone, Copy, PartialEq, ::prost::Message)]
970pub struct RaiseEventResponse {}
971impl ::prost::Name for RaiseEventResponse {
972    const NAME: &'static str = "RaiseEventResponse";
973    const PACKAGE: &'static str = "";
974    fn full_name() -> ::prost::alloc::string::String {
975        "RaiseEventResponse".into()
976    }
977    fn type_url() -> ::prost::alloc::string::String {
978        "/RaiseEventResponse".into()
979    }
980}
981#[derive(serde::Serialize, serde::Deserialize)]
982#[derive(Clone, PartialEq, ::prost::Message)]
983pub struct TerminateRequest {
984    #[prost(string, tag = "1")]
985    pub instance_id: ::prost::alloc::string::String,
986    #[prost(message, optional, tag = "2")]
987    pub output: ::core::option::Option<::prost::alloc::string::String>,
988    #[prost(bool, tag = "3")]
989    pub recursive: bool,
990}
991impl ::prost::Name for TerminateRequest {
992    const NAME: &'static str = "TerminateRequest";
993    const PACKAGE: &'static str = "";
994    fn full_name() -> ::prost::alloc::string::String {
995        "TerminateRequest".into()
996    }
997    fn type_url() -> ::prost::alloc::string::String {
998        "/TerminateRequest".into()
999    }
1000}
1001/// No payload
1002#[derive(serde::Serialize, serde::Deserialize)]
1003#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1004pub struct TerminateResponse {}
1005impl ::prost::Name for TerminateResponse {
1006    const NAME: &'static str = "TerminateResponse";
1007    const PACKAGE: &'static str = "";
1008    fn full_name() -> ::prost::alloc::string::String {
1009        "TerminateResponse".into()
1010    }
1011    fn type_url() -> ::prost::alloc::string::String {
1012        "/TerminateResponse".into()
1013    }
1014}
1015#[derive(serde::Serialize, serde::Deserialize)]
1016#[derive(Clone, PartialEq, ::prost::Message)]
1017pub struct SuspendRequest {
1018    #[prost(string, tag = "1")]
1019    pub instance_id: ::prost::alloc::string::String,
1020    #[prost(message, optional, tag = "2")]
1021    pub reason: ::core::option::Option<::prost::alloc::string::String>,
1022}
1023impl ::prost::Name for SuspendRequest {
1024    const NAME: &'static str = "SuspendRequest";
1025    const PACKAGE: &'static str = "";
1026    fn full_name() -> ::prost::alloc::string::String {
1027        "SuspendRequest".into()
1028    }
1029    fn type_url() -> ::prost::alloc::string::String {
1030        "/SuspendRequest".into()
1031    }
1032}
1033/// No payload
1034#[derive(serde::Serialize, serde::Deserialize)]
1035#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1036pub struct SuspendResponse {}
1037impl ::prost::Name for SuspendResponse {
1038    const NAME: &'static str = "SuspendResponse";
1039    const PACKAGE: &'static str = "";
1040    fn full_name() -> ::prost::alloc::string::String {
1041        "SuspendResponse".into()
1042    }
1043    fn type_url() -> ::prost::alloc::string::String {
1044        "/SuspendResponse".into()
1045    }
1046}
1047#[derive(serde::Serialize, serde::Deserialize)]
1048#[derive(Clone, PartialEq, ::prost::Message)]
1049pub struct ResumeRequest {
1050    #[prost(string, tag = "1")]
1051    pub instance_id: ::prost::alloc::string::String,
1052    #[prost(message, optional, tag = "2")]
1053    pub reason: ::core::option::Option<::prost::alloc::string::String>,
1054}
1055impl ::prost::Name for ResumeRequest {
1056    const NAME: &'static str = "ResumeRequest";
1057    const PACKAGE: &'static str = "";
1058    fn full_name() -> ::prost::alloc::string::String {
1059        "ResumeRequest".into()
1060    }
1061    fn type_url() -> ::prost::alloc::string::String {
1062        "/ResumeRequest".into()
1063    }
1064}
1065/// No payload
1066#[derive(serde::Serialize, serde::Deserialize)]
1067#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1068pub struct ResumeResponse {}
1069impl ::prost::Name for ResumeResponse {
1070    const NAME: &'static str = "ResumeResponse";
1071    const PACKAGE: &'static str = "";
1072    fn full_name() -> ::prost::alloc::string::String {
1073        "ResumeResponse".into()
1074    }
1075    fn type_url() -> ::prost::alloc::string::String {
1076        "/ResumeResponse".into()
1077    }
1078}
1079#[derive(serde::Serialize, serde::Deserialize)]
1080#[derive(Clone, PartialEq, ::prost::Message)]
1081pub struct QueryInstancesRequest {
1082    #[prost(message, optional, tag = "1")]
1083    pub query: ::core::option::Option<InstanceQuery>,
1084}
1085impl ::prost::Name for QueryInstancesRequest {
1086    const NAME: &'static str = "QueryInstancesRequest";
1087    const PACKAGE: &'static str = "";
1088    fn full_name() -> ::prost::alloc::string::String {
1089        "QueryInstancesRequest".into()
1090    }
1091    fn type_url() -> ::prost::alloc::string::String {
1092        "/QueryInstancesRequest".into()
1093    }
1094}
1095#[derive(serde::Serialize, serde::Deserialize)]
1096#[derive(Clone, PartialEq, ::prost::Message)]
1097pub struct InstanceQuery {
1098    #[prost(enumeration = "OrchestrationStatus", repeated, tag = "1")]
1099    pub runtime_status: ::prost::alloc::vec::Vec<i32>,
1100    #[prost(message, optional, tag = "2")]
1101    pub created_time_from: ::core::option::Option<::prost_wkt_types::Timestamp>,
1102    #[prost(message, optional, tag = "3")]
1103    pub created_time_to: ::core::option::Option<::prost_wkt_types::Timestamp>,
1104    #[prost(message, repeated, tag = "4")]
1105    pub task_hub_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1106    #[prost(int32, tag = "5")]
1107    pub max_instance_count: i32,
1108    #[prost(message, optional, tag = "6")]
1109    pub continuation_token: ::core::option::Option<::prost::alloc::string::String>,
1110    #[prost(message, optional, tag = "7")]
1111    pub instance_id_prefix: ::core::option::Option<::prost::alloc::string::String>,
1112    #[prost(bool, tag = "8")]
1113    pub fetch_inputs_and_outputs: bool,
1114}
1115impl ::prost::Name for InstanceQuery {
1116    const NAME: &'static str = "InstanceQuery";
1117    const PACKAGE: &'static str = "";
1118    fn full_name() -> ::prost::alloc::string::String {
1119        "InstanceQuery".into()
1120    }
1121    fn type_url() -> ::prost::alloc::string::String {
1122        "/InstanceQuery".into()
1123    }
1124}
1125#[derive(serde::Serialize, serde::Deserialize)]
1126#[derive(Clone, PartialEq, ::prost::Message)]
1127pub struct QueryInstancesResponse {
1128    #[prost(message, repeated, tag = "1")]
1129    pub orchestration_state: ::prost::alloc::vec::Vec<OrchestrationState>,
1130    #[prost(message, optional, tag = "2")]
1131    pub continuation_token: ::core::option::Option<::prost::alloc::string::String>,
1132}
1133impl ::prost::Name for QueryInstancesResponse {
1134    const NAME: &'static str = "QueryInstancesResponse";
1135    const PACKAGE: &'static str = "";
1136    fn full_name() -> ::prost::alloc::string::String {
1137        "QueryInstancesResponse".into()
1138    }
1139    fn type_url() -> ::prost::alloc::string::String {
1140        "/QueryInstancesResponse".into()
1141    }
1142}
1143#[derive(serde::Serialize, serde::Deserialize)]
1144#[derive(Clone, PartialEq, ::prost::Message)]
1145pub struct PurgeInstancesRequest {
1146    #[prost(bool, tag = "3")]
1147    pub recursive: bool,
1148    #[prost(oneof = "purge_instances_request::Request", tags = "1, 2")]
1149    pub request: ::core::option::Option<purge_instances_request::Request>,
1150}
1151/// Nested message and enum types in `PurgeInstancesRequest`.
1152pub mod purge_instances_request {
1153    #[derive(serde::Serialize, serde::Deserialize)]
1154    #[derive(Clone, PartialEq, ::prost::Oneof)]
1155    pub enum Request {
1156        #[prost(string, tag = "1")]
1157        InstanceId(::prost::alloc::string::String),
1158        #[prost(message, tag = "2")]
1159        PurgeInstanceFilter(super::PurgeInstanceFilter),
1160    }
1161}
1162impl ::prost::Name for PurgeInstancesRequest {
1163    const NAME: &'static str = "PurgeInstancesRequest";
1164    const PACKAGE: &'static str = "";
1165    fn full_name() -> ::prost::alloc::string::String {
1166        "PurgeInstancesRequest".into()
1167    }
1168    fn type_url() -> ::prost::alloc::string::String {
1169        "/PurgeInstancesRequest".into()
1170    }
1171}
1172#[derive(serde::Serialize, serde::Deserialize)]
1173#[derive(Clone, PartialEq, ::prost::Message)]
1174pub struct PurgeInstanceFilter {
1175    #[prost(message, optional, tag = "1")]
1176    pub created_time_from: ::core::option::Option<::prost_wkt_types::Timestamp>,
1177    #[prost(message, optional, tag = "2")]
1178    pub created_time_to: ::core::option::Option<::prost_wkt_types::Timestamp>,
1179    #[prost(enumeration = "OrchestrationStatus", repeated, tag = "3")]
1180    pub runtime_status: ::prost::alloc::vec::Vec<i32>,
1181}
1182impl ::prost::Name for PurgeInstanceFilter {
1183    const NAME: &'static str = "PurgeInstanceFilter";
1184    const PACKAGE: &'static str = "";
1185    fn full_name() -> ::prost::alloc::string::String {
1186        "PurgeInstanceFilter".into()
1187    }
1188    fn type_url() -> ::prost::alloc::string::String {
1189        "/PurgeInstanceFilter".into()
1190    }
1191}
1192#[derive(serde::Serialize, serde::Deserialize)]
1193#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1194pub struct PurgeInstancesResponse {
1195    #[prost(int32, tag = "1")]
1196    pub deleted_instance_count: i32,
1197}
1198impl ::prost::Name for PurgeInstancesResponse {
1199    const NAME: &'static str = "PurgeInstancesResponse";
1200    const PACKAGE: &'static str = "";
1201    fn full_name() -> ::prost::alloc::string::String {
1202        "PurgeInstancesResponse".into()
1203    }
1204    fn type_url() -> ::prost::alloc::string::String {
1205        "/PurgeInstancesResponse".into()
1206    }
1207}
1208#[derive(serde::Serialize, serde::Deserialize)]
1209#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1210pub struct CreateTaskHubRequest {
1211    #[prost(bool, tag = "1")]
1212    pub recreate_if_exists: bool,
1213}
1214impl ::prost::Name for CreateTaskHubRequest {
1215    const NAME: &'static str = "CreateTaskHubRequest";
1216    const PACKAGE: &'static str = "";
1217    fn full_name() -> ::prost::alloc::string::String {
1218        "CreateTaskHubRequest".into()
1219    }
1220    fn type_url() -> ::prost::alloc::string::String {
1221        "/CreateTaskHubRequest".into()
1222    }
1223}
1224/// no playload
1225#[derive(serde::Serialize, serde::Deserialize)]
1226#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1227pub struct CreateTaskHubResponse {}
1228impl ::prost::Name for CreateTaskHubResponse {
1229    const NAME: &'static str = "CreateTaskHubResponse";
1230    const PACKAGE: &'static str = "";
1231    fn full_name() -> ::prost::alloc::string::String {
1232        "CreateTaskHubResponse".into()
1233    }
1234    fn type_url() -> ::prost::alloc::string::String {
1235        "/CreateTaskHubResponse".into()
1236    }
1237}
1238/// no playload
1239#[derive(serde::Serialize, serde::Deserialize)]
1240#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1241pub struct DeleteTaskHubRequest {}
1242impl ::prost::Name for DeleteTaskHubRequest {
1243    const NAME: &'static str = "DeleteTaskHubRequest";
1244    const PACKAGE: &'static str = "";
1245    fn full_name() -> ::prost::alloc::string::String {
1246        "DeleteTaskHubRequest".into()
1247    }
1248    fn type_url() -> ::prost::alloc::string::String {
1249        "/DeleteTaskHubRequest".into()
1250    }
1251}
1252/// no playload
1253#[derive(serde::Serialize, serde::Deserialize)]
1254#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1255pub struct DeleteTaskHubResponse {}
1256impl ::prost::Name for DeleteTaskHubResponse {
1257    const NAME: &'static str = "DeleteTaskHubResponse";
1258    const PACKAGE: &'static str = "";
1259    fn full_name() -> ::prost::alloc::string::String {
1260        "DeleteTaskHubResponse".into()
1261    }
1262    fn type_url() -> ::prost::alloc::string::String {
1263        "/DeleteTaskHubResponse".into()
1264    }
1265}
1266#[derive(serde::Serialize, serde::Deserialize)]
1267#[derive(Clone, PartialEq, ::prost::Message)]
1268pub struct SignalEntityRequest {
1269    #[prost(string, tag = "1")]
1270    pub instance_id: ::prost::alloc::string::String,
1271    #[prost(string, tag = "2")]
1272    pub name: ::prost::alloc::string::String,
1273    #[prost(message, optional, tag = "3")]
1274    pub input: ::core::option::Option<::prost::alloc::string::String>,
1275    #[prost(string, tag = "4")]
1276    pub request_id: ::prost::alloc::string::String,
1277    #[prost(message, optional, tag = "5")]
1278    pub scheduled_time: ::core::option::Option<::prost_wkt_types::Timestamp>,
1279}
1280impl ::prost::Name for SignalEntityRequest {
1281    const NAME: &'static str = "SignalEntityRequest";
1282    const PACKAGE: &'static str = "";
1283    fn full_name() -> ::prost::alloc::string::String {
1284        "SignalEntityRequest".into()
1285    }
1286    fn type_url() -> ::prost::alloc::string::String {
1287        "/SignalEntityRequest".into()
1288    }
1289}
1290/// no payload
1291#[derive(serde::Serialize, serde::Deserialize)]
1292#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1293pub struct SignalEntityResponse {}
1294impl ::prost::Name for SignalEntityResponse {
1295    const NAME: &'static str = "SignalEntityResponse";
1296    const PACKAGE: &'static str = "";
1297    fn full_name() -> ::prost::alloc::string::String {
1298        "SignalEntityResponse".into()
1299    }
1300    fn type_url() -> ::prost::alloc::string::String {
1301        "/SignalEntityResponse".into()
1302    }
1303}
1304#[derive(serde::Serialize, serde::Deserialize)]
1305#[derive(Clone, PartialEq, ::prost::Message)]
1306pub struct GetEntityRequest {
1307    #[prost(string, tag = "1")]
1308    pub instance_id: ::prost::alloc::string::String,
1309    #[prost(bool, tag = "2")]
1310    pub include_state: bool,
1311}
1312impl ::prost::Name for GetEntityRequest {
1313    const NAME: &'static str = "GetEntityRequest";
1314    const PACKAGE: &'static str = "";
1315    fn full_name() -> ::prost::alloc::string::String {
1316        "GetEntityRequest".into()
1317    }
1318    fn type_url() -> ::prost::alloc::string::String {
1319        "/GetEntityRequest".into()
1320    }
1321}
1322#[derive(serde::Serialize, serde::Deserialize)]
1323#[derive(Clone, PartialEq, ::prost::Message)]
1324pub struct GetEntityResponse {
1325    #[prost(bool, tag = "1")]
1326    pub exists: bool,
1327    #[prost(message, optional, tag = "2")]
1328    pub entity: ::core::option::Option<EntityMetadata>,
1329}
1330impl ::prost::Name for GetEntityResponse {
1331    const NAME: &'static str = "GetEntityResponse";
1332    const PACKAGE: &'static str = "";
1333    fn full_name() -> ::prost::alloc::string::String {
1334        "GetEntityResponse".into()
1335    }
1336    fn type_url() -> ::prost::alloc::string::String {
1337        "/GetEntityResponse".into()
1338    }
1339}
1340#[derive(serde::Serialize, serde::Deserialize)]
1341#[derive(Clone, PartialEq, ::prost::Message)]
1342pub struct EntityQuery {
1343    #[prost(message, optional, tag = "1")]
1344    pub instance_id_starts_with: ::core::option::Option<::prost::alloc::string::String>,
1345    #[prost(message, optional, tag = "2")]
1346    pub last_modified_from: ::core::option::Option<::prost_wkt_types::Timestamp>,
1347    #[prost(message, optional, tag = "3")]
1348    pub last_modified_to: ::core::option::Option<::prost_wkt_types::Timestamp>,
1349    #[prost(bool, tag = "4")]
1350    pub include_state: bool,
1351    #[prost(bool, tag = "5")]
1352    pub include_transient: bool,
1353    #[prost(message, optional, tag = "6")]
1354    pub page_size: ::core::option::Option<i32>,
1355    #[prost(message, optional, tag = "7")]
1356    pub continuation_token: ::core::option::Option<::prost::alloc::string::String>,
1357}
1358impl ::prost::Name for EntityQuery {
1359    const NAME: &'static str = "EntityQuery";
1360    const PACKAGE: &'static str = "";
1361    fn full_name() -> ::prost::alloc::string::String {
1362        "EntityQuery".into()
1363    }
1364    fn type_url() -> ::prost::alloc::string::String {
1365        "/EntityQuery".into()
1366    }
1367}
1368#[derive(serde::Serialize, serde::Deserialize)]
1369#[derive(Clone, PartialEq, ::prost::Message)]
1370pub struct QueryEntitiesRequest {
1371    #[prost(message, optional, tag = "1")]
1372    pub query: ::core::option::Option<EntityQuery>,
1373}
1374impl ::prost::Name for QueryEntitiesRequest {
1375    const NAME: &'static str = "QueryEntitiesRequest";
1376    const PACKAGE: &'static str = "";
1377    fn full_name() -> ::prost::alloc::string::String {
1378        "QueryEntitiesRequest".into()
1379    }
1380    fn type_url() -> ::prost::alloc::string::String {
1381        "/QueryEntitiesRequest".into()
1382    }
1383}
1384#[derive(serde::Serialize, serde::Deserialize)]
1385#[derive(Clone, PartialEq, ::prost::Message)]
1386pub struct QueryEntitiesResponse {
1387    #[prost(message, repeated, tag = "1")]
1388    pub entities: ::prost::alloc::vec::Vec<EntityMetadata>,
1389    #[prost(message, optional, tag = "2")]
1390    pub continuation_token: ::core::option::Option<::prost::alloc::string::String>,
1391}
1392impl ::prost::Name for QueryEntitiesResponse {
1393    const NAME: &'static str = "QueryEntitiesResponse";
1394    const PACKAGE: &'static str = "";
1395    fn full_name() -> ::prost::alloc::string::String {
1396        "QueryEntitiesResponse".into()
1397    }
1398    fn type_url() -> ::prost::alloc::string::String {
1399        "/QueryEntitiesResponse".into()
1400    }
1401}
1402#[derive(serde::Serialize, serde::Deserialize)]
1403#[derive(Clone, PartialEq, ::prost::Message)]
1404pub struct EntityMetadata {
1405    #[prost(string, tag = "1")]
1406    pub instance_id: ::prost::alloc::string::String,
1407    #[prost(message, optional, tag = "2")]
1408    pub last_modified_time: ::core::option::Option<::prost_wkt_types::Timestamp>,
1409    #[prost(int32, tag = "3")]
1410    pub backlog_queue_size: i32,
1411    #[prost(message, optional, tag = "4")]
1412    pub locked_by: ::core::option::Option<::prost::alloc::string::String>,
1413    #[prost(message, optional, tag = "5")]
1414    pub serialized_state: ::core::option::Option<::prost::alloc::string::String>,
1415}
1416impl ::prost::Name for EntityMetadata {
1417    const NAME: &'static str = "EntityMetadata";
1418    const PACKAGE: &'static str = "";
1419    fn full_name() -> ::prost::alloc::string::String {
1420        "EntityMetadata".into()
1421    }
1422    fn type_url() -> ::prost::alloc::string::String {
1423        "/EntityMetadata".into()
1424    }
1425}
1426#[derive(serde::Serialize, serde::Deserialize)]
1427#[derive(Clone, PartialEq, ::prost::Message)]
1428pub struct CleanEntityStorageRequest {
1429    #[prost(message, optional, tag = "1")]
1430    pub continuation_token: ::core::option::Option<::prost::alloc::string::String>,
1431    #[prost(bool, tag = "2")]
1432    pub remove_empty_entities: bool,
1433    #[prost(bool, tag = "3")]
1434    pub release_orphaned_locks: bool,
1435}
1436impl ::prost::Name for CleanEntityStorageRequest {
1437    const NAME: &'static str = "CleanEntityStorageRequest";
1438    const PACKAGE: &'static str = "";
1439    fn full_name() -> ::prost::alloc::string::String {
1440        "CleanEntityStorageRequest".into()
1441    }
1442    fn type_url() -> ::prost::alloc::string::String {
1443        "/CleanEntityStorageRequest".into()
1444    }
1445}
1446#[derive(serde::Serialize, serde::Deserialize)]
1447#[derive(Clone, PartialEq, ::prost::Message)]
1448pub struct CleanEntityStorageResponse {
1449    #[prost(message, optional, tag = "1")]
1450    pub continuation_token: ::core::option::Option<::prost::alloc::string::String>,
1451    #[prost(int32, tag = "2")]
1452    pub empty_entities_removed: i32,
1453    #[prost(int32, tag = "3")]
1454    pub orphaned_locks_released: i32,
1455}
1456impl ::prost::Name for CleanEntityStorageResponse {
1457    const NAME: &'static str = "CleanEntityStorageResponse";
1458    const PACKAGE: &'static str = "";
1459    fn full_name() -> ::prost::alloc::string::String {
1460        "CleanEntityStorageResponse".into()
1461    }
1462    fn type_url() -> ::prost::alloc::string::String {
1463        "/CleanEntityStorageResponse".into()
1464    }
1465}
1466#[derive(serde::Serialize, serde::Deserialize)]
1467#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1468pub struct OrchestratorEntityParameters {
1469    #[prost(message, optional, tag = "1")]
1470    pub entity_message_reorder_window: ::core::option::Option<
1471        ::prost_wkt_types::Duration,
1472    >,
1473}
1474impl ::prost::Name for OrchestratorEntityParameters {
1475    const NAME: &'static str = "OrchestratorEntityParameters";
1476    const PACKAGE: &'static str = "";
1477    fn full_name() -> ::prost::alloc::string::String {
1478        "OrchestratorEntityParameters".into()
1479    }
1480    fn type_url() -> ::prost::alloc::string::String {
1481        "/OrchestratorEntityParameters".into()
1482    }
1483}
1484#[derive(serde::Serialize, serde::Deserialize)]
1485#[derive(Clone, PartialEq, ::prost::Message)]
1486pub struct EntityBatchRequest {
1487    #[prost(string, tag = "1")]
1488    pub instance_id: ::prost::alloc::string::String,
1489    #[prost(message, optional, tag = "2")]
1490    pub entity_state: ::core::option::Option<::prost::alloc::string::String>,
1491    #[prost(message, repeated, tag = "3")]
1492    pub operations: ::prost::alloc::vec::Vec<OperationRequest>,
1493}
1494impl ::prost::Name for EntityBatchRequest {
1495    const NAME: &'static str = "EntityBatchRequest";
1496    const PACKAGE: &'static str = "";
1497    fn full_name() -> ::prost::alloc::string::String {
1498        "EntityBatchRequest".into()
1499    }
1500    fn type_url() -> ::prost::alloc::string::String {
1501        "/EntityBatchRequest".into()
1502    }
1503}
1504#[derive(serde::Serialize, serde::Deserialize)]
1505#[derive(Clone, PartialEq, ::prost::Message)]
1506pub struct EntityBatchResult {
1507    #[prost(message, repeated, tag = "1")]
1508    pub results: ::prost::alloc::vec::Vec<OperationResult>,
1509    #[prost(message, repeated, tag = "2")]
1510    pub actions: ::prost::alloc::vec::Vec<OperationAction>,
1511    #[prost(message, optional, tag = "3")]
1512    pub entity_state: ::core::option::Option<::prost::alloc::string::String>,
1513    #[prost(message, optional, tag = "4")]
1514    pub failure_details: ::core::option::Option<TaskFailureDetails>,
1515}
1516impl ::prost::Name for EntityBatchResult {
1517    const NAME: &'static str = "EntityBatchResult";
1518    const PACKAGE: &'static str = "";
1519    fn full_name() -> ::prost::alloc::string::String {
1520        "EntityBatchResult".into()
1521    }
1522    fn type_url() -> ::prost::alloc::string::String {
1523        "/EntityBatchResult".into()
1524    }
1525}
1526#[derive(serde::Serialize, serde::Deserialize)]
1527#[derive(Clone, PartialEq, ::prost::Message)]
1528pub struct OperationRequest {
1529    #[prost(string, tag = "1")]
1530    pub operation: ::prost::alloc::string::String,
1531    #[prost(string, tag = "2")]
1532    pub request_id: ::prost::alloc::string::String,
1533    #[prost(message, optional, tag = "3")]
1534    pub input: ::core::option::Option<::prost::alloc::string::String>,
1535}
1536impl ::prost::Name for OperationRequest {
1537    const NAME: &'static str = "OperationRequest";
1538    const PACKAGE: &'static str = "";
1539    fn full_name() -> ::prost::alloc::string::String {
1540        "OperationRequest".into()
1541    }
1542    fn type_url() -> ::prost::alloc::string::String {
1543        "/OperationRequest".into()
1544    }
1545}
1546#[derive(serde::Serialize, serde::Deserialize)]
1547#[derive(Clone, PartialEq, ::prost::Message)]
1548pub struct OperationResult {
1549    #[prost(oneof = "operation_result::ResultType", tags = "1, 2")]
1550    pub result_type: ::core::option::Option<operation_result::ResultType>,
1551}
1552/// Nested message and enum types in `OperationResult`.
1553pub mod operation_result {
1554    #[derive(serde::Serialize, serde::Deserialize)]
1555    #[derive(Clone, PartialEq, ::prost::Oneof)]
1556    pub enum ResultType {
1557        #[prost(message, tag = "1")]
1558        Success(super::OperationResultSuccess),
1559        #[prost(message, tag = "2")]
1560        Failure(super::OperationResultFailure),
1561    }
1562}
1563impl ::prost::Name for OperationResult {
1564    const NAME: &'static str = "OperationResult";
1565    const PACKAGE: &'static str = "";
1566    fn full_name() -> ::prost::alloc::string::String {
1567        "OperationResult".into()
1568    }
1569    fn type_url() -> ::prost::alloc::string::String {
1570        "/OperationResult".into()
1571    }
1572}
1573#[derive(serde::Serialize, serde::Deserialize)]
1574#[derive(Clone, PartialEq, ::prost::Message)]
1575pub struct OperationResultSuccess {
1576    #[prost(message, optional, tag = "1")]
1577    pub result: ::core::option::Option<::prost::alloc::string::String>,
1578}
1579impl ::prost::Name for OperationResultSuccess {
1580    const NAME: &'static str = "OperationResultSuccess";
1581    const PACKAGE: &'static str = "";
1582    fn full_name() -> ::prost::alloc::string::String {
1583        "OperationResultSuccess".into()
1584    }
1585    fn type_url() -> ::prost::alloc::string::String {
1586        "/OperationResultSuccess".into()
1587    }
1588}
1589#[derive(serde::Serialize, serde::Deserialize)]
1590#[derive(Clone, PartialEq, ::prost::Message)]
1591pub struct OperationResultFailure {
1592    #[prost(message, optional, tag = "1")]
1593    pub failure_details: ::core::option::Option<TaskFailureDetails>,
1594}
1595impl ::prost::Name for OperationResultFailure {
1596    const NAME: &'static str = "OperationResultFailure";
1597    const PACKAGE: &'static str = "";
1598    fn full_name() -> ::prost::alloc::string::String {
1599        "OperationResultFailure".into()
1600    }
1601    fn type_url() -> ::prost::alloc::string::String {
1602        "/OperationResultFailure".into()
1603    }
1604}
1605#[derive(serde::Serialize, serde::Deserialize)]
1606#[derive(Clone, PartialEq, ::prost::Message)]
1607pub struct OperationAction {
1608    #[prost(int32, tag = "1")]
1609    pub id: i32,
1610    #[prost(oneof = "operation_action::OperationActionType", tags = "2, 3")]
1611    pub operation_action_type: ::core::option::Option<
1612        operation_action::OperationActionType,
1613    >,
1614}
1615/// Nested message and enum types in `OperationAction`.
1616pub mod operation_action {
1617    #[derive(serde::Serialize, serde::Deserialize)]
1618    #[derive(Clone, PartialEq, ::prost::Oneof)]
1619    pub enum OperationActionType {
1620        #[prost(message, tag = "2")]
1621        SendSignal(super::SendSignalAction),
1622        #[prost(message, tag = "3")]
1623        StartNewOrchestration(super::StartNewOrchestrationAction),
1624    }
1625}
1626impl ::prost::Name for OperationAction {
1627    const NAME: &'static str = "OperationAction";
1628    const PACKAGE: &'static str = "";
1629    fn full_name() -> ::prost::alloc::string::String {
1630        "OperationAction".into()
1631    }
1632    fn type_url() -> ::prost::alloc::string::String {
1633        "/OperationAction".into()
1634    }
1635}
1636#[derive(serde::Serialize, serde::Deserialize)]
1637#[derive(Clone, PartialEq, ::prost::Message)]
1638pub struct SendSignalAction {
1639    #[prost(string, tag = "1")]
1640    pub instance_id: ::prost::alloc::string::String,
1641    #[prost(string, tag = "2")]
1642    pub name: ::prost::alloc::string::String,
1643    #[prost(message, optional, tag = "3")]
1644    pub input: ::core::option::Option<::prost::alloc::string::String>,
1645    #[prost(message, optional, tag = "4")]
1646    pub scheduled_time: ::core::option::Option<::prost_wkt_types::Timestamp>,
1647}
1648impl ::prost::Name for SendSignalAction {
1649    const NAME: &'static str = "SendSignalAction";
1650    const PACKAGE: &'static str = "";
1651    fn full_name() -> ::prost::alloc::string::String {
1652        "SendSignalAction".into()
1653    }
1654    fn type_url() -> ::prost::alloc::string::String {
1655        "/SendSignalAction".into()
1656    }
1657}
1658#[derive(serde::Serialize, serde::Deserialize)]
1659#[derive(Clone, PartialEq, ::prost::Message)]
1660pub struct StartNewOrchestrationAction {
1661    #[prost(string, tag = "1")]
1662    pub instance_id: ::prost::alloc::string::String,
1663    #[prost(string, tag = "2")]
1664    pub name: ::prost::alloc::string::String,
1665    #[prost(message, optional, tag = "3")]
1666    pub version: ::core::option::Option<::prost::alloc::string::String>,
1667    #[prost(message, optional, tag = "4")]
1668    pub input: ::core::option::Option<::prost::alloc::string::String>,
1669    #[prost(message, optional, tag = "5")]
1670    pub scheduled_time: ::core::option::Option<::prost_wkt_types::Timestamp>,
1671}
1672impl ::prost::Name for StartNewOrchestrationAction {
1673    const NAME: &'static str = "StartNewOrchestrationAction";
1674    const PACKAGE: &'static str = "";
1675    fn full_name() -> ::prost::alloc::string::String {
1676        "StartNewOrchestrationAction".into()
1677    }
1678    fn type_url() -> ::prost::alloc::string::String {
1679        "/StartNewOrchestrationAction".into()
1680    }
1681}
1682/// No parameters currently
1683#[derive(serde::Serialize, serde::Deserialize)]
1684#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1685pub struct GetWorkItemsRequest {}
1686impl ::prost::Name for GetWorkItemsRequest {
1687    const NAME: &'static str = "GetWorkItemsRequest";
1688    const PACKAGE: &'static str = "";
1689    fn full_name() -> ::prost::alloc::string::String {
1690        "GetWorkItemsRequest".into()
1691    }
1692    fn type_url() -> ::prost::alloc::string::String {
1693        "/GetWorkItemsRequest".into()
1694    }
1695}
1696#[derive(serde::Serialize, serde::Deserialize)]
1697#[derive(Clone, PartialEq, ::prost::Message)]
1698pub struct WorkItem {
1699    #[prost(oneof = "work_item::Request", tags = "1, 2, 3")]
1700    pub request: ::core::option::Option<work_item::Request>,
1701}
1702/// Nested message and enum types in `WorkItem`.
1703pub mod work_item {
1704    #[derive(serde::Serialize, serde::Deserialize)]
1705    #[derive(Clone, PartialEq, ::prost::Oneof)]
1706    pub enum Request {
1707        #[prost(message, tag = "1")]
1708        OrchestratorRequest(super::OrchestratorRequest),
1709        #[prost(message, tag = "2")]
1710        ActivityRequest(super::ActivityRequest),
1711        #[prost(message, tag = "3")]
1712        EntityRequest(super::EntityBatchRequest),
1713    }
1714}
1715impl ::prost::Name for WorkItem {
1716    const NAME: &'static str = "WorkItem";
1717    const PACKAGE: &'static str = "";
1718    fn full_name() -> ::prost::alloc::string::String {
1719        "WorkItem".into()
1720    }
1721    fn type_url() -> ::prost::alloc::string::String {
1722        "/WorkItem".into()
1723    }
1724}
1725/// No payload
1726#[derive(serde::Serialize, serde::Deserialize)]
1727#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1728pub struct CompleteTaskResponse {}
1729impl ::prost::Name for CompleteTaskResponse {
1730    const NAME: &'static str = "CompleteTaskResponse";
1731    const PACKAGE: &'static str = "";
1732    fn full_name() -> ::prost::alloc::string::String {
1733        "CompleteTaskResponse".into()
1734    }
1735    fn type_url() -> ::prost::alloc::string::String {
1736        "/CompleteTaskResponse".into()
1737    }
1738}
1739#[derive(serde::Serialize, serde::Deserialize)]
1740#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1741#[repr(i32)]
1742pub enum OrchestrationStatus {
1743    Running = 0,
1744    Completed = 1,
1745    ContinuedAsNew = 2,
1746    Failed = 3,
1747    Canceled = 4,
1748    Terminated = 5,
1749    Pending = 6,
1750    Suspended = 7,
1751}
1752impl OrchestrationStatus {
1753    /// String value of the enum field names used in the ProtoBuf definition.
1754    ///
1755    /// The values are not transformed in any way and thus are considered stable
1756    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1757    pub fn as_str_name(&self) -> &'static str {
1758        match self {
1759            Self::Running => "ORCHESTRATION_STATUS_RUNNING",
1760            Self::Completed => "ORCHESTRATION_STATUS_COMPLETED",
1761            Self::ContinuedAsNew => "ORCHESTRATION_STATUS_CONTINUED_AS_NEW",
1762            Self::Failed => "ORCHESTRATION_STATUS_FAILED",
1763            Self::Canceled => "ORCHESTRATION_STATUS_CANCELED",
1764            Self::Terminated => "ORCHESTRATION_STATUS_TERMINATED",
1765            Self::Pending => "ORCHESTRATION_STATUS_PENDING",
1766            Self::Suspended => "ORCHESTRATION_STATUS_SUSPENDED",
1767        }
1768    }
1769    /// Creates an enum from field names used in the ProtoBuf definition.
1770    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1771        match value {
1772            "ORCHESTRATION_STATUS_RUNNING" => Some(Self::Running),
1773            "ORCHESTRATION_STATUS_COMPLETED" => Some(Self::Completed),
1774            "ORCHESTRATION_STATUS_CONTINUED_AS_NEW" => Some(Self::ContinuedAsNew),
1775            "ORCHESTRATION_STATUS_FAILED" => Some(Self::Failed),
1776            "ORCHESTRATION_STATUS_CANCELED" => Some(Self::Canceled),
1777            "ORCHESTRATION_STATUS_TERMINATED" => Some(Self::Terminated),
1778            "ORCHESTRATION_STATUS_PENDING" => Some(Self::Pending),
1779            "ORCHESTRATION_STATUS_SUSPENDED" => Some(Self::Suspended),
1780            _ => None,
1781        }
1782    }
1783}
1784#[derive(serde::Serialize, serde::Deserialize)]
1785#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1786#[repr(i32)]
1787pub enum CreateOrchestrationAction {
1788    Error = 0,
1789    Ignore = 1,
1790    Terminate = 2,
1791}
1792impl CreateOrchestrationAction {
1793    /// String value of the enum field names used in the ProtoBuf definition.
1794    ///
1795    /// The values are not transformed in any way and thus are considered stable
1796    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1797    pub fn as_str_name(&self) -> &'static str {
1798        match self {
1799            Self::Error => "ERROR",
1800            Self::Ignore => "IGNORE",
1801            Self::Terminate => "TERMINATE",
1802        }
1803    }
1804    /// Creates an enum from field names used in the ProtoBuf definition.
1805    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1806        match value {
1807            "ERROR" => Some(Self::Error),
1808            "IGNORE" => Some(Self::Ignore),
1809            "TERMINATE" => Some(Self::Terminate),
1810            _ => None,
1811        }
1812    }
1813}
1814/// Generated client implementations.
1815pub mod task_hub_sidecar_service_client {
1816    #![allow(
1817        unused_variables,
1818        dead_code,
1819        missing_docs,
1820        clippy::wildcard_imports,
1821        clippy::let_unit_value,
1822    )]
1823    use tonic::codegen::*;
1824    use tonic::codegen::http::Uri;
1825    #[derive(Debug, Clone)]
1826    pub struct TaskHubSidecarServiceClient<T> {
1827        inner: tonic::client::Grpc<T>,
1828    }
1829    impl TaskHubSidecarServiceClient<tonic::transport::Channel> {
1830        /// Attempt to create a new client by connecting to a given endpoint.
1831        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1832        where
1833            D: TryInto<tonic::transport::Endpoint>,
1834            D::Error: Into<StdError>,
1835        {
1836            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1837            Ok(Self::new(conn))
1838        }
1839    }
1840    impl<T> TaskHubSidecarServiceClient<T>
1841    where
1842        T: tonic::client::GrpcService<tonic::body::BoxBody>,
1843        T::Error: Into<StdError>,
1844        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1845        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1846    {
1847        pub fn new(inner: T) -> Self {
1848            let inner = tonic::client::Grpc::new(inner);
1849            Self { inner }
1850        }
1851        pub fn with_origin(inner: T, origin: Uri) -> Self {
1852            let inner = tonic::client::Grpc::with_origin(inner, origin);
1853            Self { inner }
1854        }
1855        pub fn with_interceptor<F>(
1856            inner: T,
1857            interceptor: F,
1858        ) -> TaskHubSidecarServiceClient<InterceptedService<T, F>>
1859        where
1860            F: tonic::service::Interceptor,
1861            T::ResponseBody: Default,
1862            T: tonic::codegen::Service<
1863                http::Request<tonic::body::BoxBody>,
1864                Response = http::Response<
1865                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
1866                >,
1867            >,
1868            <T as tonic::codegen::Service<
1869                http::Request<tonic::body::BoxBody>,
1870            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
1871        {
1872            TaskHubSidecarServiceClient::new(InterceptedService::new(inner, interceptor))
1873        }
1874        /// Compress requests with the given encoding.
1875        ///
1876        /// This requires the server to support it otherwise it might respond with an
1877        /// error.
1878        #[must_use]
1879        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1880            self.inner = self.inner.send_compressed(encoding);
1881            self
1882        }
1883        /// Enable decompressing responses.
1884        #[must_use]
1885        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1886            self.inner = self.inner.accept_compressed(encoding);
1887            self
1888        }
1889        /// Limits the maximum size of a decoded message.
1890        ///
1891        /// Default: `4MB`
1892        #[must_use]
1893        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1894            self.inner = self.inner.max_decoding_message_size(limit);
1895            self
1896        }
1897        /// Limits the maximum size of an encoded message.
1898        ///
1899        /// Default: `usize::MAX`
1900        #[must_use]
1901        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1902            self.inner = self.inner.max_encoding_message_size(limit);
1903            self
1904        }
1905        /// Sends a hello request to the sidecar service.
1906        pub async fn hello(
1907            &mut self,
1908            request: impl tonic::IntoRequest<()>,
1909        ) -> std::result::Result<tonic::Response<()>, tonic::Status> {
1910            self.inner
1911                .ready()
1912                .await
1913                .map_err(|e| {
1914                    tonic::Status::unknown(
1915                        format!("Service was not ready: {}", e.into()),
1916                    )
1917                })?;
1918            let codec = tonic::codec::ProstCodec::default();
1919            let path = http::uri::PathAndQuery::from_static(
1920                "/TaskHubSidecarService/Hello",
1921            );
1922            let mut req = request.into_request();
1923            req.extensions_mut()
1924                .insert(GrpcMethod::new("TaskHubSidecarService", "Hello"));
1925            self.inner.unary(req, path, codec).await
1926        }
1927        /// Starts a new orchestration instance.
1928        pub async fn start_instance(
1929            &mut self,
1930            request: impl tonic::IntoRequest<super::CreateInstanceRequest>,
1931        ) -> std::result::Result<
1932            tonic::Response<super::CreateInstanceResponse>,
1933            tonic::Status,
1934        > {
1935            self.inner
1936                .ready()
1937                .await
1938                .map_err(|e| {
1939                    tonic::Status::unknown(
1940                        format!("Service was not ready: {}", e.into()),
1941                    )
1942                })?;
1943            let codec = tonic::codec::ProstCodec::default();
1944            let path = http::uri::PathAndQuery::from_static(
1945                "/TaskHubSidecarService/StartInstance",
1946            );
1947            let mut req = request.into_request();
1948            req.extensions_mut()
1949                .insert(GrpcMethod::new("TaskHubSidecarService", "StartInstance"));
1950            self.inner.unary(req, path, codec).await
1951        }
1952        /// Gets the status of an existing orchestration instance.
1953        pub async fn get_instance(
1954            &mut self,
1955            request: impl tonic::IntoRequest<super::GetInstanceRequest>,
1956        ) -> std::result::Result<
1957            tonic::Response<super::GetInstanceResponse>,
1958            tonic::Status,
1959        > {
1960            self.inner
1961                .ready()
1962                .await
1963                .map_err(|e| {
1964                    tonic::Status::unknown(
1965                        format!("Service was not ready: {}", e.into()),
1966                    )
1967                })?;
1968            let codec = tonic::codec::ProstCodec::default();
1969            let path = http::uri::PathAndQuery::from_static(
1970                "/TaskHubSidecarService/GetInstance",
1971            );
1972            let mut req = request.into_request();
1973            req.extensions_mut()
1974                .insert(GrpcMethod::new("TaskHubSidecarService", "GetInstance"));
1975            self.inner.unary(req, path, codec).await
1976        }
1977        /// Rewinds an orchestration instance to last known good state and replays from there.
1978        pub async fn rewind_instance(
1979            &mut self,
1980            request: impl tonic::IntoRequest<super::RewindInstanceRequest>,
1981        ) -> std::result::Result<
1982            tonic::Response<super::RewindInstanceResponse>,
1983            tonic::Status,
1984        > {
1985            self.inner
1986                .ready()
1987                .await
1988                .map_err(|e| {
1989                    tonic::Status::unknown(
1990                        format!("Service was not ready: {}", e.into()),
1991                    )
1992                })?;
1993            let codec = tonic::codec::ProstCodec::default();
1994            let path = http::uri::PathAndQuery::from_static(
1995                "/TaskHubSidecarService/RewindInstance",
1996            );
1997            let mut req = request.into_request();
1998            req.extensions_mut()
1999                .insert(GrpcMethod::new("TaskHubSidecarService", "RewindInstance"));
2000            self.inner.unary(req, path, codec).await
2001        }
2002        /// Waits for an orchestration instance to reach a running or completion state.
2003        pub async fn wait_for_instance_start(
2004            &mut self,
2005            request: impl tonic::IntoRequest<super::GetInstanceRequest>,
2006        ) -> std::result::Result<
2007            tonic::Response<super::GetInstanceResponse>,
2008            tonic::Status,
2009        > {
2010            self.inner
2011                .ready()
2012                .await
2013                .map_err(|e| {
2014                    tonic::Status::unknown(
2015                        format!("Service was not ready: {}", e.into()),
2016                    )
2017                })?;
2018            let codec = tonic::codec::ProstCodec::default();
2019            let path = http::uri::PathAndQuery::from_static(
2020                "/TaskHubSidecarService/WaitForInstanceStart",
2021            );
2022            let mut req = request.into_request();
2023            req.extensions_mut()
2024                .insert(
2025                    GrpcMethod::new("TaskHubSidecarService", "WaitForInstanceStart"),
2026                );
2027            self.inner.unary(req, path, codec).await
2028        }
2029        /// Waits for an orchestration instance to reach a completion state (completed, failed, terminated, etc.).
2030        pub async fn wait_for_instance_completion(
2031            &mut self,
2032            request: impl tonic::IntoRequest<super::GetInstanceRequest>,
2033        ) -> std::result::Result<
2034            tonic::Response<super::GetInstanceResponse>,
2035            tonic::Status,
2036        > {
2037            self.inner
2038                .ready()
2039                .await
2040                .map_err(|e| {
2041                    tonic::Status::unknown(
2042                        format!("Service was not ready: {}", e.into()),
2043                    )
2044                })?;
2045            let codec = tonic::codec::ProstCodec::default();
2046            let path = http::uri::PathAndQuery::from_static(
2047                "/TaskHubSidecarService/WaitForInstanceCompletion",
2048            );
2049            let mut req = request.into_request();
2050            req.extensions_mut()
2051                .insert(
2052                    GrpcMethod::new("TaskHubSidecarService", "WaitForInstanceCompletion"),
2053                );
2054            self.inner.unary(req, path, codec).await
2055        }
2056        /// Raises an event to a running orchestration instance.
2057        pub async fn raise_event(
2058            &mut self,
2059            request: impl tonic::IntoRequest<super::RaiseEventRequest>,
2060        ) -> std::result::Result<
2061            tonic::Response<super::RaiseEventResponse>,
2062            tonic::Status,
2063        > {
2064            self.inner
2065                .ready()
2066                .await
2067                .map_err(|e| {
2068                    tonic::Status::unknown(
2069                        format!("Service was not ready: {}", e.into()),
2070                    )
2071                })?;
2072            let codec = tonic::codec::ProstCodec::default();
2073            let path = http::uri::PathAndQuery::from_static(
2074                "/TaskHubSidecarService/RaiseEvent",
2075            );
2076            let mut req = request.into_request();
2077            req.extensions_mut()
2078                .insert(GrpcMethod::new("TaskHubSidecarService", "RaiseEvent"));
2079            self.inner.unary(req, path, codec).await
2080        }
2081        /// Terminates a running orchestration instance.
2082        pub async fn terminate_instance(
2083            &mut self,
2084            request: impl tonic::IntoRequest<super::TerminateRequest>,
2085        ) -> std::result::Result<
2086            tonic::Response<super::TerminateResponse>,
2087            tonic::Status,
2088        > {
2089            self.inner
2090                .ready()
2091                .await
2092                .map_err(|e| {
2093                    tonic::Status::unknown(
2094                        format!("Service was not ready: {}", e.into()),
2095                    )
2096                })?;
2097            let codec = tonic::codec::ProstCodec::default();
2098            let path = http::uri::PathAndQuery::from_static(
2099                "/TaskHubSidecarService/TerminateInstance",
2100            );
2101            let mut req = request.into_request();
2102            req.extensions_mut()
2103                .insert(GrpcMethod::new("TaskHubSidecarService", "TerminateInstance"));
2104            self.inner.unary(req, path, codec).await
2105        }
2106        /// Suspends a running orchestration instance.
2107        pub async fn suspend_instance(
2108            &mut self,
2109            request: impl tonic::IntoRequest<super::SuspendRequest>,
2110        ) -> std::result::Result<
2111            tonic::Response<super::SuspendResponse>,
2112            tonic::Status,
2113        > {
2114            self.inner
2115                .ready()
2116                .await
2117                .map_err(|e| {
2118                    tonic::Status::unknown(
2119                        format!("Service was not ready: {}", e.into()),
2120                    )
2121                })?;
2122            let codec = tonic::codec::ProstCodec::default();
2123            let path = http::uri::PathAndQuery::from_static(
2124                "/TaskHubSidecarService/SuspendInstance",
2125            );
2126            let mut req = request.into_request();
2127            req.extensions_mut()
2128                .insert(GrpcMethod::new("TaskHubSidecarService", "SuspendInstance"));
2129            self.inner.unary(req, path, codec).await
2130        }
2131        /// Resumes a suspended orchestration instance.
2132        pub async fn resume_instance(
2133            &mut self,
2134            request: impl tonic::IntoRequest<super::ResumeRequest>,
2135        ) -> std::result::Result<tonic::Response<super::ResumeResponse>, tonic::Status> {
2136            self.inner
2137                .ready()
2138                .await
2139                .map_err(|e| {
2140                    tonic::Status::unknown(
2141                        format!("Service was not ready: {}", e.into()),
2142                    )
2143                })?;
2144            let codec = tonic::codec::ProstCodec::default();
2145            let path = http::uri::PathAndQuery::from_static(
2146                "/TaskHubSidecarService/ResumeInstance",
2147            );
2148            let mut req = request.into_request();
2149            req.extensions_mut()
2150                .insert(GrpcMethod::new("TaskHubSidecarService", "ResumeInstance"));
2151            self.inner.unary(req, path, codec).await
2152        }
2153        pub async fn query_instances(
2154            &mut self,
2155            request: impl tonic::IntoRequest<super::QueryInstancesRequest>,
2156        ) -> std::result::Result<
2157            tonic::Response<super::QueryInstancesResponse>,
2158            tonic::Status,
2159        > {
2160            self.inner
2161                .ready()
2162                .await
2163                .map_err(|e| {
2164                    tonic::Status::unknown(
2165                        format!("Service was not ready: {}", e.into()),
2166                    )
2167                })?;
2168            let codec = tonic::codec::ProstCodec::default();
2169            let path = http::uri::PathAndQuery::from_static(
2170                "/TaskHubSidecarService/QueryInstances",
2171            );
2172            let mut req = request.into_request();
2173            req.extensions_mut()
2174                .insert(GrpcMethod::new("TaskHubSidecarService", "QueryInstances"));
2175            self.inner.unary(req, path, codec).await
2176        }
2177        pub async fn purge_instances(
2178            &mut self,
2179            request: impl tonic::IntoRequest<super::PurgeInstancesRequest>,
2180        ) -> std::result::Result<
2181            tonic::Response<super::PurgeInstancesResponse>,
2182            tonic::Status,
2183        > {
2184            self.inner
2185                .ready()
2186                .await
2187                .map_err(|e| {
2188                    tonic::Status::unknown(
2189                        format!("Service was not ready: {}", e.into()),
2190                    )
2191                })?;
2192            let codec = tonic::codec::ProstCodec::default();
2193            let path = http::uri::PathAndQuery::from_static(
2194                "/TaskHubSidecarService/PurgeInstances",
2195            );
2196            let mut req = request.into_request();
2197            req.extensions_mut()
2198                .insert(GrpcMethod::new("TaskHubSidecarService", "PurgeInstances"));
2199            self.inner.unary(req, path, codec).await
2200        }
2201        pub async fn get_work_items(
2202            &mut self,
2203            request: impl tonic::IntoRequest<super::GetWorkItemsRequest>,
2204        ) -> std::result::Result<
2205            tonic::Response<tonic::codec::Streaming<super::WorkItem>>,
2206            tonic::Status,
2207        > {
2208            self.inner
2209                .ready()
2210                .await
2211                .map_err(|e| {
2212                    tonic::Status::unknown(
2213                        format!("Service was not ready: {}", e.into()),
2214                    )
2215                })?;
2216            let codec = tonic::codec::ProstCodec::default();
2217            let path = http::uri::PathAndQuery::from_static(
2218                "/TaskHubSidecarService/GetWorkItems",
2219            );
2220            let mut req = request.into_request();
2221            req.extensions_mut()
2222                .insert(GrpcMethod::new("TaskHubSidecarService", "GetWorkItems"));
2223            self.inner.server_streaming(req, path, codec).await
2224        }
2225        pub async fn complete_activity_task(
2226            &mut self,
2227            request: impl tonic::IntoRequest<super::ActivityResponse>,
2228        ) -> std::result::Result<
2229            tonic::Response<super::CompleteTaskResponse>,
2230            tonic::Status,
2231        > {
2232            self.inner
2233                .ready()
2234                .await
2235                .map_err(|e| {
2236                    tonic::Status::unknown(
2237                        format!("Service was not ready: {}", e.into()),
2238                    )
2239                })?;
2240            let codec = tonic::codec::ProstCodec::default();
2241            let path = http::uri::PathAndQuery::from_static(
2242                "/TaskHubSidecarService/CompleteActivityTask",
2243            );
2244            let mut req = request.into_request();
2245            req.extensions_mut()
2246                .insert(
2247                    GrpcMethod::new("TaskHubSidecarService", "CompleteActivityTask"),
2248                );
2249            self.inner.unary(req, path, codec).await
2250        }
2251        pub async fn complete_orchestrator_task(
2252            &mut self,
2253            request: impl tonic::IntoRequest<super::OrchestratorResponse>,
2254        ) -> std::result::Result<
2255            tonic::Response<super::CompleteTaskResponse>,
2256            tonic::Status,
2257        > {
2258            self.inner
2259                .ready()
2260                .await
2261                .map_err(|e| {
2262                    tonic::Status::unknown(
2263                        format!("Service was not ready: {}", e.into()),
2264                    )
2265                })?;
2266            let codec = tonic::codec::ProstCodec::default();
2267            let path = http::uri::PathAndQuery::from_static(
2268                "/TaskHubSidecarService/CompleteOrchestratorTask",
2269            );
2270            let mut req = request.into_request();
2271            req.extensions_mut()
2272                .insert(
2273                    GrpcMethod::new("TaskHubSidecarService", "CompleteOrchestratorTask"),
2274                );
2275            self.inner.unary(req, path, codec).await
2276        }
2277        pub async fn complete_entity_task(
2278            &mut self,
2279            request: impl tonic::IntoRequest<super::EntityBatchResult>,
2280        ) -> std::result::Result<
2281            tonic::Response<super::CompleteTaskResponse>,
2282            tonic::Status,
2283        > {
2284            self.inner
2285                .ready()
2286                .await
2287                .map_err(|e| {
2288                    tonic::Status::unknown(
2289                        format!("Service was not ready: {}", e.into()),
2290                    )
2291                })?;
2292            let codec = tonic::codec::ProstCodec::default();
2293            let path = http::uri::PathAndQuery::from_static(
2294                "/TaskHubSidecarService/CompleteEntityTask",
2295            );
2296            let mut req = request.into_request();
2297            req.extensions_mut()
2298                .insert(GrpcMethod::new("TaskHubSidecarService", "CompleteEntityTask"));
2299            self.inner.unary(req, path, codec).await
2300        }
2301        /// Deletes and Creates the necessary resources for the orchestration service and the instance store
2302        pub async fn create_task_hub(
2303            &mut self,
2304            request: impl tonic::IntoRequest<super::CreateTaskHubRequest>,
2305        ) -> std::result::Result<
2306            tonic::Response<super::CreateTaskHubResponse>,
2307            tonic::Status,
2308        > {
2309            self.inner
2310                .ready()
2311                .await
2312                .map_err(|e| {
2313                    tonic::Status::unknown(
2314                        format!("Service was not ready: {}", e.into()),
2315                    )
2316                })?;
2317            let codec = tonic::codec::ProstCodec::default();
2318            let path = http::uri::PathAndQuery::from_static(
2319                "/TaskHubSidecarService/CreateTaskHub",
2320            );
2321            let mut req = request.into_request();
2322            req.extensions_mut()
2323                .insert(GrpcMethod::new("TaskHubSidecarService", "CreateTaskHub"));
2324            self.inner.unary(req, path, codec).await
2325        }
2326        /// Deletes the resources for the orchestration service and optionally the instance store
2327        pub async fn delete_task_hub(
2328            &mut self,
2329            request: impl tonic::IntoRequest<super::DeleteTaskHubRequest>,
2330        ) -> std::result::Result<
2331            tonic::Response<super::DeleteTaskHubResponse>,
2332            tonic::Status,
2333        > {
2334            self.inner
2335                .ready()
2336                .await
2337                .map_err(|e| {
2338                    tonic::Status::unknown(
2339                        format!("Service was not ready: {}", e.into()),
2340                    )
2341                })?;
2342            let codec = tonic::codec::ProstCodec::default();
2343            let path = http::uri::PathAndQuery::from_static(
2344                "/TaskHubSidecarService/DeleteTaskHub",
2345            );
2346            let mut req = request.into_request();
2347            req.extensions_mut()
2348                .insert(GrpcMethod::new("TaskHubSidecarService", "DeleteTaskHub"));
2349            self.inner.unary(req, path, codec).await
2350        }
2351        /// sends a signal to an entity
2352        pub async fn signal_entity(
2353            &mut self,
2354            request: impl tonic::IntoRequest<super::SignalEntityRequest>,
2355        ) -> std::result::Result<
2356            tonic::Response<super::SignalEntityResponse>,
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                "/TaskHubSidecarService/SignalEntity",
2370            );
2371            let mut req = request.into_request();
2372            req.extensions_mut()
2373                .insert(GrpcMethod::new("TaskHubSidecarService", "SignalEntity"));
2374            self.inner.unary(req, path, codec).await
2375        }
2376        /// get information about a specific entity
2377        pub async fn get_entity(
2378            &mut self,
2379            request: impl tonic::IntoRequest<super::GetEntityRequest>,
2380        ) -> std::result::Result<
2381            tonic::Response<super::GetEntityResponse>,
2382            tonic::Status,
2383        > {
2384            self.inner
2385                .ready()
2386                .await
2387                .map_err(|e| {
2388                    tonic::Status::unknown(
2389                        format!("Service was not ready: {}", e.into()),
2390                    )
2391                })?;
2392            let codec = tonic::codec::ProstCodec::default();
2393            let path = http::uri::PathAndQuery::from_static(
2394                "/TaskHubSidecarService/GetEntity",
2395            );
2396            let mut req = request.into_request();
2397            req.extensions_mut()
2398                .insert(GrpcMethod::new("TaskHubSidecarService", "GetEntity"));
2399            self.inner.unary(req, path, codec).await
2400        }
2401        /// query entities
2402        pub async fn query_entities(
2403            &mut self,
2404            request: impl tonic::IntoRequest<super::QueryEntitiesRequest>,
2405        ) -> std::result::Result<
2406            tonic::Response<super::QueryEntitiesResponse>,
2407            tonic::Status,
2408        > {
2409            self.inner
2410                .ready()
2411                .await
2412                .map_err(|e| {
2413                    tonic::Status::unknown(
2414                        format!("Service was not ready: {}", e.into()),
2415                    )
2416                })?;
2417            let codec = tonic::codec::ProstCodec::default();
2418            let path = http::uri::PathAndQuery::from_static(
2419                "/TaskHubSidecarService/QueryEntities",
2420            );
2421            let mut req = request.into_request();
2422            req.extensions_mut()
2423                .insert(GrpcMethod::new("TaskHubSidecarService", "QueryEntities"));
2424            self.inner.unary(req, path, codec).await
2425        }
2426        /// clean entity storage
2427        pub async fn clean_entity_storage(
2428            &mut self,
2429            request: impl tonic::IntoRequest<super::CleanEntityStorageRequest>,
2430        ) -> std::result::Result<
2431            tonic::Response<super::CleanEntityStorageResponse>,
2432            tonic::Status,
2433        > {
2434            self.inner
2435                .ready()
2436                .await
2437                .map_err(|e| {
2438                    tonic::Status::unknown(
2439                        format!("Service was not ready: {}", e.into()),
2440                    )
2441                })?;
2442            let codec = tonic::codec::ProstCodec::default();
2443            let path = http::uri::PathAndQuery::from_static(
2444                "/TaskHubSidecarService/CleanEntityStorage",
2445            );
2446            let mut req = request.into_request();
2447            req.extensions_mut()
2448                .insert(GrpcMethod::new("TaskHubSidecarService", "CleanEntityStorage"));
2449            self.inner.unary(req, path, codec).await
2450        }
2451    }
2452}
2453/// Generated server implementations.
2454pub mod task_hub_sidecar_service_server {
2455    #![allow(
2456        unused_variables,
2457        dead_code,
2458        missing_docs,
2459        clippy::wildcard_imports,
2460        clippy::let_unit_value,
2461    )]
2462    use tonic::codegen::*;
2463    /// Generated trait containing gRPC methods that should be implemented for use with TaskHubSidecarServiceServer.
2464    #[async_trait]
2465    pub trait TaskHubSidecarService: std::marker::Send + std::marker::Sync + 'static {
2466        /// Sends a hello request to the sidecar service.
2467        async fn hello(
2468            &self,
2469            request: tonic::Request<()>,
2470        ) -> std::result::Result<tonic::Response<()>, tonic::Status>;
2471        /// Starts a new orchestration instance.
2472        async fn start_instance(
2473            &self,
2474            request: tonic::Request<super::CreateInstanceRequest>,
2475        ) -> std::result::Result<
2476            tonic::Response<super::CreateInstanceResponse>,
2477            tonic::Status,
2478        >;
2479        /// Gets the status of an existing orchestration instance.
2480        async fn get_instance(
2481            &self,
2482            request: tonic::Request<super::GetInstanceRequest>,
2483        ) -> std::result::Result<
2484            tonic::Response<super::GetInstanceResponse>,
2485            tonic::Status,
2486        >;
2487        /// Rewinds an orchestration instance to last known good state and replays from there.
2488        async fn rewind_instance(
2489            &self,
2490            request: tonic::Request<super::RewindInstanceRequest>,
2491        ) -> std::result::Result<
2492            tonic::Response<super::RewindInstanceResponse>,
2493            tonic::Status,
2494        >;
2495        /// Waits for an orchestration instance to reach a running or completion state.
2496        async fn wait_for_instance_start(
2497            &self,
2498            request: tonic::Request<super::GetInstanceRequest>,
2499        ) -> std::result::Result<
2500            tonic::Response<super::GetInstanceResponse>,
2501            tonic::Status,
2502        >;
2503        /// Waits for an orchestration instance to reach a completion state (completed, failed, terminated, etc.).
2504        async fn wait_for_instance_completion(
2505            &self,
2506            request: tonic::Request<super::GetInstanceRequest>,
2507        ) -> std::result::Result<
2508            tonic::Response<super::GetInstanceResponse>,
2509            tonic::Status,
2510        >;
2511        /// Raises an event to a running orchestration instance.
2512        async fn raise_event(
2513            &self,
2514            request: tonic::Request<super::RaiseEventRequest>,
2515        ) -> std::result::Result<
2516            tonic::Response<super::RaiseEventResponse>,
2517            tonic::Status,
2518        >;
2519        /// Terminates a running orchestration instance.
2520        async fn terminate_instance(
2521            &self,
2522            request: tonic::Request<super::TerminateRequest>,
2523        ) -> std::result::Result<
2524            tonic::Response<super::TerminateResponse>,
2525            tonic::Status,
2526        >;
2527        /// Suspends a running orchestration instance.
2528        async fn suspend_instance(
2529            &self,
2530            request: tonic::Request<super::SuspendRequest>,
2531        ) -> std::result::Result<tonic::Response<super::SuspendResponse>, tonic::Status>;
2532        /// Resumes a suspended orchestration instance.
2533        async fn resume_instance(
2534            &self,
2535            request: tonic::Request<super::ResumeRequest>,
2536        ) -> std::result::Result<tonic::Response<super::ResumeResponse>, tonic::Status>;
2537        async fn query_instances(
2538            &self,
2539            request: tonic::Request<super::QueryInstancesRequest>,
2540        ) -> std::result::Result<
2541            tonic::Response<super::QueryInstancesResponse>,
2542            tonic::Status,
2543        >;
2544        async fn purge_instances(
2545            &self,
2546            request: tonic::Request<super::PurgeInstancesRequest>,
2547        ) -> std::result::Result<
2548            tonic::Response<super::PurgeInstancesResponse>,
2549            tonic::Status,
2550        >;
2551        /// Server streaming response type for the GetWorkItems method.
2552        type GetWorkItemsStream: tonic::codegen::tokio_stream::Stream<
2553                Item = std::result::Result<super::WorkItem, tonic::Status>,
2554            >
2555            + std::marker::Send
2556            + 'static;
2557        async fn get_work_items(
2558            &self,
2559            request: tonic::Request<super::GetWorkItemsRequest>,
2560        ) -> std::result::Result<
2561            tonic::Response<Self::GetWorkItemsStream>,
2562            tonic::Status,
2563        >;
2564        async fn complete_activity_task(
2565            &self,
2566            request: tonic::Request<super::ActivityResponse>,
2567        ) -> std::result::Result<
2568            tonic::Response<super::CompleteTaskResponse>,
2569            tonic::Status,
2570        >;
2571        async fn complete_orchestrator_task(
2572            &self,
2573            request: tonic::Request<super::OrchestratorResponse>,
2574        ) -> std::result::Result<
2575            tonic::Response<super::CompleteTaskResponse>,
2576            tonic::Status,
2577        >;
2578        async fn complete_entity_task(
2579            &self,
2580            request: tonic::Request<super::EntityBatchResult>,
2581        ) -> std::result::Result<
2582            tonic::Response<super::CompleteTaskResponse>,
2583            tonic::Status,
2584        >;
2585        /// Deletes and Creates the necessary resources for the orchestration service and the instance store
2586        async fn create_task_hub(
2587            &self,
2588            request: tonic::Request<super::CreateTaskHubRequest>,
2589        ) -> std::result::Result<
2590            tonic::Response<super::CreateTaskHubResponse>,
2591            tonic::Status,
2592        >;
2593        /// Deletes the resources for the orchestration service and optionally the instance store
2594        async fn delete_task_hub(
2595            &self,
2596            request: tonic::Request<super::DeleteTaskHubRequest>,
2597        ) -> std::result::Result<
2598            tonic::Response<super::DeleteTaskHubResponse>,
2599            tonic::Status,
2600        >;
2601        /// sends a signal to an entity
2602        async fn signal_entity(
2603            &self,
2604            request: tonic::Request<super::SignalEntityRequest>,
2605        ) -> std::result::Result<
2606            tonic::Response<super::SignalEntityResponse>,
2607            tonic::Status,
2608        >;
2609        /// get information about a specific entity
2610        async fn get_entity(
2611            &self,
2612            request: tonic::Request<super::GetEntityRequest>,
2613        ) -> std::result::Result<
2614            tonic::Response<super::GetEntityResponse>,
2615            tonic::Status,
2616        >;
2617        /// query entities
2618        async fn query_entities(
2619            &self,
2620            request: tonic::Request<super::QueryEntitiesRequest>,
2621        ) -> std::result::Result<
2622            tonic::Response<super::QueryEntitiesResponse>,
2623            tonic::Status,
2624        >;
2625        /// clean entity storage
2626        async fn clean_entity_storage(
2627            &self,
2628            request: tonic::Request<super::CleanEntityStorageRequest>,
2629        ) -> std::result::Result<
2630            tonic::Response<super::CleanEntityStorageResponse>,
2631            tonic::Status,
2632        >;
2633    }
2634    #[derive(Debug)]
2635    pub struct TaskHubSidecarServiceServer<T> {
2636        inner: Arc<T>,
2637        accept_compression_encodings: EnabledCompressionEncodings,
2638        send_compression_encodings: EnabledCompressionEncodings,
2639        max_decoding_message_size: Option<usize>,
2640        max_encoding_message_size: Option<usize>,
2641    }
2642    impl<T> TaskHubSidecarServiceServer<T> {
2643        pub fn new(inner: T) -> Self {
2644            Self::from_arc(Arc::new(inner))
2645        }
2646        pub fn from_arc(inner: Arc<T>) -> Self {
2647            Self {
2648                inner,
2649                accept_compression_encodings: Default::default(),
2650                send_compression_encodings: Default::default(),
2651                max_decoding_message_size: None,
2652                max_encoding_message_size: None,
2653            }
2654        }
2655        pub fn with_interceptor<F>(
2656            inner: T,
2657            interceptor: F,
2658        ) -> InterceptedService<Self, F>
2659        where
2660            F: tonic::service::Interceptor,
2661        {
2662            InterceptedService::new(Self::new(inner), interceptor)
2663        }
2664        /// Enable decompressing requests with the given encoding.
2665        #[must_use]
2666        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
2667            self.accept_compression_encodings.enable(encoding);
2668            self
2669        }
2670        /// Compress responses with the given encoding, if the client supports it.
2671        #[must_use]
2672        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2673            self.send_compression_encodings.enable(encoding);
2674            self
2675        }
2676        /// Limits the maximum size of a decoded message.
2677        ///
2678        /// Default: `4MB`
2679        #[must_use]
2680        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
2681            self.max_decoding_message_size = Some(limit);
2682            self
2683        }
2684        /// Limits the maximum size of an encoded message.
2685        ///
2686        /// Default: `usize::MAX`
2687        #[must_use]
2688        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
2689            self.max_encoding_message_size = Some(limit);
2690            self
2691        }
2692    }
2693    impl<T, B> tonic::codegen::Service<http::Request<B>>
2694    for TaskHubSidecarServiceServer<T>
2695    where
2696        T: TaskHubSidecarService,
2697        B: Body + std::marker::Send + 'static,
2698        B::Error: Into<StdError> + std::marker::Send + 'static,
2699    {
2700        type Response = http::Response<tonic::body::BoxBody>;
2701        type Error = std::convert::Infallible;
2702        type Future = BoxFuture<Self::Response, Self::Error>;
2703        fn poll_ready(
2704            &mut self,
2705            _cx: &mut Context<'_>,
2706        ) -> Poll<std::result::Result<(), Self::Error>> {
2707            Poll::Ready(Ok(()))
2708        }
2709        fn call(&mut self, req: http::Request<B>) -> Self::Future {
2710            match req.uri().path() {
2711                "/TaskHubSidecarService/Hello" => {
2712                    #[allow(non_camel_case_types)]
2713                    struct HelloSvc<T: TaskHubSidecarService>(pub Arc<T>);
2714                    impl<T: TaskHubSidecarService> tonic::server::UnaryService<()>
2715                    for HelloSvc<T> {
2716                        type Response = ();
2717                        type Future = BoxFuture<
2718                            tonic::Response<Self::Response>,
2719                            tonic::Status,
2720                        >;
2721                        fn call(&mut self, request: tonic::Request<()>) -> Self::Future {
2722                            let inner = Arc::clone(&self.0);
2723                            let fut = async move {
2724                                <T as TaskHubSidecarService>::hello(&inner, request).await
2725                            };
2726                            Box::pin(fut)
2727                        }
2728                    }
2729                    let accept_compression_encodings = self.accept_compression_encodings;
2730                    let send_compression_encodings = self.send_compression_encodings;
2731                    let max_decoding_message_size = self.max_decoding_message_size;
2732                    let max_encoding_message_size = self.max_encoding_message_size;
2733                    let inner = self.inner.clone();
2734                    let fut = async move {
2735                        let method = HelloSvc(inner);
2736                        let codec = tonic::codec::ProstCodec::default();
2737                        let mut grpc = tonic::server::Grpc::new(codec)
2738                            .apply_compression_config(
2739                                accept_compression_encodings,
2740                                send_compression_encodings,
2741                            )
2742                            .apply_max_message_size_config(
2743                                max_decoding_message_size,
2744                                max_encoding_message_size,
2745                            );
2746                        let res = grpc.unary(method, req).await;
2747                        Ok(res)
2748                    };
2749                    Box::pin(fut)
2750                }
2751                "/TaskHubSidecarService/StartInstance" => {
2752                    #[allow(non_camel_case_types)]
2753                    struct StartInstanceSvc<T: TaskHubSidecarService>(pub Arc<T>);
2754                    impl<
2755                        T: TaskHubSidecarService,
2756                    > tonic::server::UnaryService<super::CreateInstanceRequest>
2757                    for StartInstanceSvc<T> {
2758                        type Response = super::CreateInstanceResponse;
2759                        type Future = BoxFuture<
2760                            tonic::Response<Self::Response>,
2761                            tonic::Status,
2762                        >;
2763                        fn call(
2764                            &mut self,
2765                            request: tonic::Request<super::CreateInstanceRequest>,
2766                        ) -> Self::Future {
2767                            let inner = Arc::clone(&self.0);
2768                            let fut = async move {
2769                                <T as TaskHubSidecarService>::start_instance(
2770                                        &inner,
2771                                        request,
2772                                    )
2773                                    .await
2774                            };
2775                            Box::pin(fut)
2776                        }
2777                    }
2778                    let accept_compression_encodings = self.accept_compression_encodings;
2779                    let send_compression_encodings = self.send_compression_encodings;
2780                    let max_decoding_message_size = self.max_decoding_message_size;
2781                    let max_encoding_message_size = self.max_encoding_message_size;
2782                    let inner = self.inner.clone();
2783                    let fut = async move {
2784                        let method = StartInstanceSvc(inner);
2785                        let codec = tonic::codec::ProstCodec::default();
2786                        let mut grpc = tonic::server::Grpc::new(codec)
2787                            .apply_compression_config(
2788                                accept_compression_encodings,
2789                                send_compression_encodings,
2790                            )
2791                            .apply_max_message_size_config(
2792                                max_decoding_message_size,
2793                                max_encoding_message_size,
2794                            );
2795                        let res = grpc.unary(method, req).await;
2796                        Ok(res)
2797                    };
2798                    Box::pin(fut)
2799                }
2800                "/TaskHubSidecarService/GetInstance" => {
2801                    #[allow(non_camel_case_types)]
2802                    struct GetInstanceSvc<T: TaskHubSidecarService>(pub Arc<T>);
2803                    impl<
2804                        T: TaskHubSidecarService,
2805                    > tonic::server::UnaryService<super::GetInstanceRequest>
2806                    for GetInstanceSvc<T> {
2807                        type Response = super::GetInstanceResponse;
2808                        type Future = BoxFuture<
2809                            tonic::Response<Self::Response>,
2810                            tonic::Status,
2811                        >;
2812                        fn call(
2813                            &mut self,
2814                            request: tonic::Request<super::GetInstanceRequest>,
2815                        ) -> Self::Future {
2816                            let inner = Arc::clone(&self.0);
2817                            let fut = async move {
2818                                <T as TaskHubSidecarService>::get_instance(&inner, request)
2819                                    .await
2820                            };
2821                            Box::pin(fut)
2822                        }
2823                    }
2824                    let accept_compression_encodings = self.accept_compression_encodings;
2825                    let send_compression_encodings = self.send_compression_encodings;
2826                    let max_decoding_message_size = self.max_decoding_message_size;
2827                    let max_encoding_message_size = self.max_encoding_message_size;
2828                    let inner = self.inner.clone();
2829                    let fut = async move {
2830                        let method = GetInstanceSvc(inner);
2831                        let codec = tonic::codec::ProstCodec::default();
2832                        let mut grpc = tonic::server::Grpc::new(codec)
2833                            .apply_compression_config(
2834                                accept_compression_encodings,
2835                                send_compression_encodings,
2836                            )
2837                            .apply_max_message_size_config(
2838                                max_decoding_message_size,
2839                                max_encoding_message_size,
2840                            );
2841                        let res = grpc.unary(method, req).await;
2842                        Ok(res)
2843                    };
2844                    Box::pin(fut)
2845                }
2846                "/TaskHubSidecarService/RewindInstance" => {
2847                    #[allow(non_camel_case_types)]
2848                    struct RewindInstanceSvc<T: TaskHubSidecarService>(pub Arc<T>);
2849                    impl<
2850                        T: TaskHubSidecarService,
2851                    > tonic::server::UnaryService<super::RewindInstanceRequest>
2852                    for RewindInstanceSvc<T> {
2853                        type Response = super::RewindInstanceResponse;
2854                        type Future = BoxFuture<
2855                            tonic::Response<Self::Response>,
2856                            tonic::Status,
2857                        >;
2858                        fn call(
2859                            &mut self,
2860                            request: tonic::Request<super::RewindInstanceRequest>,
2861                        ) -> Self::Future {
2862                            let inner = Arc::clone(&self.0);
2863                            let fut = async move {
2864                                <T as TaskHubSidecarService>::rewind_instance(
2865                                        &inner,
2866                                        request,
2867                                    )
2868                                    .await
2869                            };
2870                            Box::pin(fut)
2871                        }
2872                    }
2873                    let accept_compression_encodings = self.accept_compression_encodings;
2874                    let send_compression_encodings = self.send_compression_encodings;
2875                    let max_decoding_message_size = self.max_decoding_message_size;
2876                    let max_encoding_message_size = self.max_encoding_message_size;
2877                    let inner = self.inner.clone();
2878                    let fut = async move {
2879                        let method = RewindInstanceSvc(inner);
2880                        let codec = tonic::codec::ProstCodec::default();
2881                        let mut grpc = tonic::server::Grpc::new(codec)
2882                            .apply_compression_config(
2883                                accept_compression_encodings,
2884                                send_compression_encodings,
2885                            )
2886                            .apply_max_message_size_config(
2887                                max_decoding_message_size,
2888                                max_encoding_message_size,
2889                            );
2890                        let res = grpc.unary(method, req).await;
2891                        Ok(res)
2892                    };
2893                    Box::pin(fut)
2894                }
2895                "/TaskHubSidecarService/WaitForInstanceStart" => {
2896                    #[allow(non_camel_case_types)]
2897                    struct WaitForInstanceStartSvc<T: TaskHubSidecarService>(pub Arc<T>);
2898                    impl<
2899                        T: TaskHubSidecarService,
2900                    > tonic::server::UnaryService<super::GetInstanceRequest>
2901                    for WaitForInstanceStartSvc<T> {
2902                        type Response = super::GetInstanceResponse;
2903                        type Future = BoxFuture<
2904                            tonic::Response<Self::Response>,
2905                            tonic::Status,
2906                        >;
2907                        fn call(
2908                            &mut self,
2909                            request: tonic::Request<super::GetInstanceRequest>,
2910                        ) -> Self::Future {
2911                            let inner = Arc::clone(&self.0);
2912                            let fut = async move {
2913                                <T as TaskHubSidecarService>::wait_for_instance_start(
2914                                        &inner,
2915                                        request,
2916                                    )
2917                                    .await
2918                            };
2919                            Box::pin(fut)
2920                        }
2921                    }
2922                    let accept_compression_encodings = self.accept_compression_encodings;
2923                    let send_compression_encodings = self.send_compression_encodings;
2924                    let max_decoding_message_size = self.max_decoding_message_size;
2925                    let max_encoding_message_size = self.max_encoding_message_size;
2926                    let inner = self.inner.clone();
2927                    let fut = async move {
2928                        let method = WaitForInstanceStartSvc(inner);
2929                        let codec = tonic::codec::ProstCodec::default();
2930                        let mut grpc = tonic::server::Grpc::new(codec)
2931                            .apply_compression_config(
2932                                accept_compression_encodings,
2933                                send_compression_encodings,
2934                            )
2935                            .apply_max_message_size_config(
2936                                max_decoding_message_size,
2937                                max_encoding_message_size,
2938                            );
2939                        let res = grpc.unary(method, req).await;
2940                        Ok(res)
2941                    };
2942                    Box::pin(fut)
2943                }
2944                "/TaskHubSidecarService/WaitForInstanceCompletion" => {
2945                    #[allow(non_camel_case_types)]
2946                    struct WaitForInstanceCompletionSvc<T: TaskHubSidecarService>(
2947                        pub Arc<T>,
2948                    );
2949                    impl<
2950                        T: TaskHubSidecarService,
2951                    > tonic::server::UnaryService<super::GetInstanceRequest>
2952                    for WaitForInstanceCompletionSvc<T> {
2953                        type Response = super::GetInstanceResponse;
2954                        type Future = BoxFuture<
2955                            tonic::Response<Self::Response>,
2956                            tonic::Status,
2957                        >;
2958                        fn call(
2959                            &mut self,
2960                            request: tonic::Request<super::GetInstanceRequest>,
2961                        ) -> Self::Future {
2962                            let inner = Arc::clone(&self.0);
2963                            let fut = async move {
2964                                <T as TaskHubSidecarService>::wait_for_instance_completion(
2965                                        &inner,
2966                                        request,
2967                                    )
2968                                    .await
2969                            };
2970                            Box::pin(fut)
2971                        }
2972                    }
2973                    let accept_compression_encodings = self.accept_compression_encodings;
2974                    let send_compression_encodings = self.send_compression_encodings;
2975                    let max_decoding_message_size = self.max_decoding_message_size;
2976                    let max_encoding_message_size = self.max_encoding_message_size;
2977                    let inner = self.inner.clone();
2978                    let fut = async move {
2979                        let method = WaitForInstanceCompletionSvc(inner);
2980                        let codec = tonic::codec::ProstCodec::default();
2981                        let mut grpc = tonic::server::Grpc::new(codec)
2982                            .apply_compression_config(
2983                                accept_compression_encodings,
2984                                send_compression_encodings,
2985                            )
2986                            .apply_max_message_size_config(
2987                                max_decoding_message_size,
2988                                max_encoding_message_size,
2989                            );
2990                        let res = grpc.unary(method, req).await;
2991                        Ok(res)
2992                    };
2993                    Box::pin(fut)
2994                }
2995                "/TaskHubSidecarService/RaiseEvent" => {
2996                    #[allow(non_camel_case_types)]
2997                    struct RaiseEventSvc<T: TaskHubSidecarService>(pub Arc<T>);
2998                    impl<
2999                        T: TaskHubSidecarService,
3000                    > tonic::server::UnaryService<super::RaiseEventRequest>
3001                    for RaiseEventSvc<T> {
3002                        type Response = super::RaiseEventResponse;
3003                        type Future = BoxFuture<
3004                            tonic::Response<Self::Response>,
3005                            tonic::Status,
3006                        >;
3007                        fn call(
3008                            &mut self,
3009                            request: tonic::Request<super::RaiseEventRequest>,
3010                        ) -> Self::Future {
3011                            let inner = Arc::clone(&self.0);
3012                            let fut = async move {
3013                                <T as TaskHubSidecarService>::raise_event(&inner, request)
3014                                    .await
3015                            };
3016                            Box::pin(fut)
3017                        }
3018                    }
3019                    let accept_compression_encodings = self.accept_compression_encodings;
3020                    let send_compression_encodings = self.send_compression_encodings;
3021                    let max_decoding_message_size = self.max_decoding_message_size;
3022                    let max_encoding_message_size = self.max_encoding_message_size;
3023                    let inner = self.inner.clone();
3024                    let fut = async move {
3025                        let method = RaiseEventSvc(inner);
3026                        let codec = tonic::codec::ProstCodec::default();
3027                        let mut grpc = tonic::server::Grpc::new(codec)
3028                            .apply_compression_config(
3029                                accept_compression_encodings,
3030                                send_compression_encodings,
3031                            )
3032                            .apply_max_message_size_config(
3033                                max_decoding_message_size,
3034                                max_encoding_message_size,
3035                            );
3036                        let res = grpc.unary(method, req).await;
3037                        Ok(res)
3038                    };
3039                    Box::pin(fut)
3040                }
3041                "/TaskHubSidecarService/TerminateInstance" => {
3042                    #[allow(non_camel_case_types)]
3043                    struct TerminateInstanceSvc<T: TaskHubSidecarService>(pub Arc<T>);
3044                    impl<
3045                        T: TaskHubSidecarService,
3046                    > tonic::server::UnaryService<super::TerminateRequest>
3047                    for TerminateInstanceSvc<T> {
3048                        type Response = super::TerminateResponse;
3049                        type Future = BoxFuture<
3050                            tonic::Response<Self::Response>,
3051                            tonic::Status,
3052                        >;
3053                        fn call(
3054                            &mut self,
3055                            request: tonic::Request<super::TerminateRequest>,
3056                        ) -> Self::Future {
3057                            let inner = Arc::clone(&self.0);
3058                            let fut = async move {
3059                                <T as TaskHubSidecarService>::terminate_instance(
3060                                        &inner,
3061                                        request,
3062                                    )
3063                                    .await
3064                            };
3065                            Box::pin(fut)
3066                        }
3067                    }
3068                    let accept_compression_encodings = self.accept_compression_encodings;
3069                    let send_compression_encodings = self.send_compression_encodings;
3070                    let max_decoding_message_size = self.max_decoding_message_size;
3071                    let max_encoding_message_size = self.max_encoding_message_size;
3072                    let inner = self.inner.clone();
3073                    let fut = async move {
3074                        let method = TerminateInstanceSvc(inner);
3075                        let codec = tonic::codec::ProstCodec::default();
3076                        let mut grpc = tonic::server::Grpc::new(codec)
3077                            .apply_compression_config(
3078                                accept_compression_encodings,
3079                                send_compression_encodings,
3080                            )
3081                            .apply_max_message_size_config(
3082                                max_decoding_message_size,
3083                                max_encoding_message_size,
3084                            );
3085                        let res = grpc.unary(method, req).await;
3086                        Ok(res)
3087                    };
3088                    Box::pin(fut)
3089                }
3090                "/TaskHubSidecarService/SuspendInstance" => {
3091                    #[allow(non_camel_case_types)]
3092                    struct SuspendInstanceSvc<T: TaskHubSidecarService>(pub Arc<T>);
3093                    impl<
3094                        T: TaskHubSidecarService,
3095                    > tonic::server::UnaryService<super::SuspendRequest>
3096                    for SuspendInstanceSvc<T> {
3097                        type Response = super::SuspendResponse;
3098                        type Future = BoxFuture<
3099                            tonic::Response<Self::Response>,
3100                            tonic::Status,
3101                        >;
3102                        fn call(
3103                            &mut self,
3104                            request: tonic::Request<super::SuspendRequest>,
3105                        ) -> Self::Future {
3106                            let inner = Arc::clone(&self.0);
3107                            let fut = async move {
3108                                <T as TaskHubSidecarService>::suspend_instance(
3109                                        &inner,
3110                                        request,
3111                                    )
3112                                    .await
3113                            };
3114                            Box::pin(fut)
3115                        }
3116                    }
3117                    let accept_compression_encodings = self.accept_compression_encodings;
3118                    let send_compression_encodings = self.send_compression_encodings;
3119                    let max_decoding_message_size = self.max_decoding_message_size;
3120                    let max_encoding_message_size = self.max_encoding_message_size;
3121                    let inner = self.inner.clone();
3122                    let fut = async move {
3123                        let method = SuspendInstanceSvc(inner);
3124                        let codec = tonic::codec::ProstCodec::default();
3125                        let mut grpc = tonic::server::Grpc::new(codec)
3126                            .apply_compression_config(
3127                                accept_compression_encodings,
3128                                send_compression_encodings,
3129                            )
3130                            .apply_max_message_size_config(
3131                                max_decoding_message_size,
3132                                max_encoding_message_size,
3133                            );
3134                        let res = grpc.unary(method, req).await;
3135                        Ok(res)
3136                    };
3137                    Box::pin(fut)
3138                }
3139                "/TaskHubSidecarService/ResumeInstance" => {
3140                    #[allow(non_camel_case_types)]
3141                    struct ResumeInstanceSvc<T: TaskHubSidecarService>(pub Arc<T>);
3142                    impl<
3143                        T: TaskHubSidecarService,
3144                    > tonic::server::UnaryService<super::ResumeRequest>
3145                    for ResumeInstanceSvc<T> {
3146                        type Response = super::ResumeResponse;
3147                        type Future = BoxFuture<
3148                            tonic::Response<Self::Response>,
3149                            tonic::Status,
3150                        >;
3151                        fn call(
3152                            &mut self,
3153                            request: tonic::Request<super::ResumeRequest>,
3154                        ) -> Self::Future {
3155                            let inner = Arc::clone(&self.0);
3156                            let fut = async move {
3157                                <T as TaskHubSidecarService>::resume_instance(
3158                                        &inner,
3159                                        request,
3160                                    )
3161                                    .await
3162                            };
3163                            Box::pin(fut)
3164                        }
3165                    }
3166                    let accept_compression_encodings = self.accept_compression_encodings;
3167                    let send_compression_encodings = self.send_compression_encodings;
3168                    let max_decoding_message_size = self.max_decoding_message_size;
3169                    let max_encoding_message_size = self.max_encoding_message_size;
3170                    let inner = self.inner.clone();
3171                    let fut = async move {
3172                        let method = ResumeInstanceSvc(inner);
3173                        let codec = tonic::codec::ProstCodec::default();
3174                        let mut grpc = tonic::server::Grpc::new(codec)
3175                            .apply_compression_config(
3176                                accept_compression_encodings,
3177                                send_compression_encodings,
3178                            )
3179                            .apply_max_message_size_config(
3180                                max_decoding_message_size,
3181                                max_encoding_message_size,
3182                            );
3183                        let res = grpc.unary(method, req).await;
3184                        Ok(res)
3185                    };
3186                    Box::pin(fut)
3187                }
3188                "/TaskHubSidecarService/QueryInstances" => {
3189                    #[allow(non_camel_case_types)]
3190                    struct QueryInstancesSvc<T: TaskHubSidecarService>(pub Arc<T>);
3191                    impl<
3192                        T: TaskHubSidecarService,
3193                    > tonic::server::UnaryService<super::QueryInstancesRequest>
3194                    for QueryInstancesSvc<T> {
3195                        type Response = super::QueryInstancesResponse;
3196                        type Future = BoxFuture<
3197                            tonic::Response<Self::Response>,
3198                            tonic::Status,
3199                        >;
3200                        fn call(
3201                            &mut self,
3202                            request: tonic::Request<super::QueryInstancesRequest>,
3203                        ) -> Self::Future {
3204                            let inner = Arc::clone(&self.0);
3205                            let fut = async move {
3206                                <T as TaskHubSidecarService>::query_instances(
3207                                        &inner,
3208                                        request,
3209                                    )
3210                                    .await
3211                            };
3212                            Box::pin(fut)
3213                        }
3214                    }
3215                    let accept_compression_encodings = self.accept_compression_encodings;
3216                    let send_compression_encodings = self.send_compression_encodings;
3217                    let max_decoding_message_size = self.max_decoding_message_size;
3218                    let max_encoding_message_size = self.max_encoding_message_size;
3219                    let inner = self.inner.clone();
3220                    let fut = async move {
3221                        let method = QueryInstancesSvc(inner);
3222                        let codec = tonic::codec::ProstCodec::default();
3223                        let mut grpc = tonic::server::Grpc::new(codec)
3224                            .apply_compression_config(
3225                                accept_compression_encodings,
3226                                send_compression_encodings,
3227                            )
3228                            .apply_max_message_size_config(
3229                                max_decoding_message_size,
3230                                max_encoding_message_size,
3231                            );
3232                        let res = grpc.unary(method, req).await;
3233                        Ok(res)
3234                    };
3235                    Box::pin(fut)
3236                }
3237                "/TaskHubSidecarService/PurgeInstances" => {
3238                    #[allow(non_camel_case_types)]
3239                    struct PurgeInstancesSvc<T: TaskHubSidecarService>(pub Arc<T>);
3240                    impl<
3241                        T: TaskHubSidecarService,
3242                    > tonic::server::UnaryService<super::PurgeInstancesRequest>
3243                    for PurgeInstancesSvc<T> {
3244                        type Response = super::PurgeInstancesResponse;
3245                        type Future = BoxFuture<
3246                            tonic::Response<Self::Response>,
3247                            tonic::Status,
3248                        >;
3249                        fn call(
3250                            &mut self,
3251                            request: tonic::Request<super::PurgeInstancesRequest>,
3252                        ) -> Self::Future {
3253                            let inner = Arc::clone(&self.0);
3254                            let fut = async move {
3255                                <T as TaskHubSidecarService>::purge_instances(
3256                                        &inner,
3257                                        request,
3258                                    )
3259                                    .await
3260                            };
3261                            Box::pin(fut)
3262                        }
3263                    }
3264                    let accept_compression_encodings = self.accept_compression_encodings;
3265                    let send_compression_encodings = self.send_compression_encodings;
3266                    let max_decoding_message_size = self.max_decoding_message_size;
3267                    let max_encoding_message_size = self.max_encoding_message_size;
3268                    let inner = self.inner.clone();
3269                    let fut = async move {
3270                        let method = PurgeInstancesSvc(inner);
3271                        let codec = tonic::codec::ProstCodec::default();
3272                        let mut grpc = tonic::server::Grpc::new(codec)
3273                            .apply_compression_config(
3274                                accept_compression_encodings,
3275                                send_compression_encodings,
3276                            )
3277                            .apply_max_message_size_config(
3278                                max_decoding_message_size,
3279                                max_encoding_message_size,
3280                            );
3281                        let res = grpc.unary(method, req).await;
3282                        Ok(res)
3283                    };
3284                    Box::pin(fut)
3285                }
3286                "/TaskHubSidecarService/GetWorkItems" => {
3287                    #[allow(non_camel_case_types)]
3288                    struct GetWorkItemsSvc<T: TaskHubSidecarService>(pub Arc<T>);
3289                    impl<
3290                        T: TaskHubSidecarService,
3291                    > tonic::server::ServerStreamingService<super::GetWorkItemsRequest>
3292                    for GetWorkItemsSvc<T> {
3293                        type Response = super::WorkItem;
3294                        type ResponseStream = T::GetWorkItemsStream;
3295                        type Future = BoxFuture<
3296                            tonic::Response<Self::ResponseStream>,
3297                            tonic::Status,
3298                        >;
3299                        fn call(
3300                            &mut self,
3301                            request: tonic::Request<super::GetWorkItemsRequest>,
3302                        ) -> Self::Future {
3303                            let inner = Arc::clone(&self.0);
3304                            let fut = async move {
3305                                <T as TaskHubSidecarService>::get_work_items(
3306                                        &inner,
3307                                        request,
3308                                    )
3309                                    .await
3310                            };
3311                            Box::pin(fut)
3312                        }
3313                    }
3314                    let accept_compression_encodings = self.accept_compression_encodings;
3315                    let send_compression_encodings = self.send_compression_encodings;
3316                    let max_decoding_message_size = self.max_decoding_message_size;
3317                    let max_encoding_message_size = self.max_encoding_message_size;
3318                    let inner = self.inner.clone();
3319                    let fut = async move {
3320                        let method = GetWorkItemsSvc(inner);
3321                        let codec = tonic::codec::ProstCodec::default();
3322                        let mut grpc = tonic::server::Grpc::new(codec)
3323                            .apply_compression_config(
3324                                accept_compression_encodings,
3325                                send_compression_encodings,
3326                            )
3327                            .apply_max_message_size_config(
3328                                max_decoding_message_size,
3329                                max_encoding_message_size,
3330                            );
3331                        let res = grpc.server_streaming(method, req).await;
3332                        Ok(res)
3333                    };
3334                    Box::pin(fut)
3335                }
3336                "/TaskHubSidecarService/CompleteActivityTask" => {
3337                    #[allow(non_camel_case_types)]
3338                    struct CompleteActivityTaskSvc<T: TaskHubSidecarService>(pub Arc<T>);
3339                    impl<
3340                        T: TaskHubSidecarService,
3341                    > tonic::server::UnaryService<super::ActivityResponse>
3342                    for CompleteActivityTaskSvc<T> {
3343                        type Response = super::CompleteTaskResponse;
3344                        type Future = BoxFuture<
3345                            tonic::Response<Self::Response>,
3346                            tonic::Status,
3347                        >;
3348                        fn call(
3349                            &mut self,
3350                            request: tonic::Request<super::ActivityResponse>,
3351                        ) -> Self::Future {
3352                            let inner = Arc::clone(&self.0);
3353                            let fut = async move {
3354                                <T as TaskHubSidecarService>::complete_activity_task(
3355                                        &inner,
3356                                        request,
3357                                    )
3358                                    .await
3359                            };
3360                            Box::pin(fut)
3361                        }
3362                    }
3363                    let accept_compression_encodings = self.accept_compression_encodings;
3364                    let send_compression_encodings = self.send_compression_encodings;
3365                    let max_decoding_message_size = self.max_decoding_message_size;
3366                    let max_encoding_message_size = self.max_encoding_message_size;
3367                    let inner = self.inner.clone();
3368                    let fut = async move {
3369                        let method = CompleteActivityTaskSvc(inner);
3370                        let codec = tonic::codec::ProstCodec::default();
3371                        let mut grpc = tonic::server::Grpc::new(codec)
3372                            .apply_compression_config(
3373                                accept_compression_encodings,
3374                                send_compression_encodings,
3375                            )
3376                            .apply_max_message_size_config(
3377                                max_decoding_message_size,
3378                                max_encoding_message_size,
3379                            );
3380                        let res = grpc.unary(method, req).await;
3381                        Ok(res)
3382                    };
3383                    Box::pin(fut)
3384                }
3385                "/TaskHubSidecarService/CompleteOrchestratorTask" => {
3386                    #[allow(non_camel_case_types)]
3387                    struct CompleteOrchestratorTaskSvc<T: TaskHubSidecarService>(
3388                        pub Arc<T>,
3389                    );
3390                    impl<
3391                        T: TaskHubSidecarService,
3392                    > tonic::server::UnaryService<super::OrchestratorResponse>
3393                    for CompleteOrchestratorTaskSvc<T> {
3394                        type Response = super::CompleteTaskResponse;
3395                        type Future = BoxFuture<
3396                            tonic::Response<Self::Response>,
3397                            tonic::Status,
3398                        >;
3399                        fn call(
3400                            &mut self,
3401                            request: tonic::Request<super::OrchestratorResponse>,
3402                        ) -> Self::Future {
3403                            let inner = Arc::clone(&self.0);
3404                            let fut = async move {
3405                                <T as TaskHubSidecarService>::complete_orchestrator_task(
3406                                        &inner,
3407                                        request,
3408                                    )
3409                                    .await
3410                            };
3411                            Box::pin(fut)
3412                        }
3413                    }
3414                    let accept_compression_encodings = self.accept_compression_encodings;
3415                    let send_compression_encodings = self.send_compression_encodings;
3416                    let max_decoding_message_size = self.max_decoding_message_size;
3417                    let max_encoding_message_size = self.max_encoding_message_size;
3418                    let inner = self.inner.clone();
3419                    let fut = async move {
3420                        let method = CompleteOrchestratorTaskSvc(inner);
3421                        let codec = tonic::codec::ProstCodec::default();
3422                        let mut grpc = tonic::server::Grpc::new(codec)
3423                            .apply_compression_config(
3424                                accept_compression_encodings,
3425                                send_compression_encodings,
3426                            )
3427                            .apply_max_message_size_config(
3428                                max_decoding_message_size,
3429                                max_encoding_message_size,
3430                            );
3431                        let res = grpc.unary(method, req).await;
3432                        Ok(res)
3433                    };
3434                    Box::pin(fut)
3435                }
3436                "/TaskHubSidecarService/CompleteEntityTask" => {
3437                    #[allow(non_camel_case_types)]
3438                    struct CompleteEntityTaskSvc<T: TaskHubSidecarService>(pub Arc<T>);
3439                    impl<
3440                        T: TaskHubSidecarService,
3441                    > tonic::server::UnaryService<super::EntityBatchResult>
3442                    for CompleteEntityTaskSvc<T> {
3443                        type Response = super::CompleteTaskResponse;
3444                        type Future = BoxFuture<
3445                            tonic::Response<Self::Response>,
3446                            tonic::Status,
3447                        >;
3448                        fn call(
3449                            &mut self,
3450                            request: tonic::Request<super::EntityBatchResult>,
3451                        ) -> Self::Future {
3452                            let inner = Arc::clone(&self.0);
3453                            let fut = async move {
3454                                <T as TaskHubSidecarService>::complete_entity_task(
3455                                        &inner,
3456                                        request,
3457                                    )
3458                                    .await
3459                            };
3460                            Box::pin(fut)
3461                        }
3462                    }
3463                    let accept_compression_encodings = self.accept_compression_encodings;
3464                    let send_compression_encodings = self.send_compression_encodings;
3465                    let max_decoding_message_size = self.max_decoding_message_size;
3466                    let max_encoding_message_size = self.max_encoding_message_size;
3467                    let inner = self.inner.clone();
3468                    let fut = async move {
3469                        let method = CompleteEntityTaskSvc(inner);
3470                        let codec = tonic::codec::ProstCodec::default();
3471                        let mut grpc = tonic::server::Grpc::new(codec)
3472                            .apply_compression_config(
3473                                accept_compression_encodings,
3474                                send_compression_encodings,
3475                            )
3476                            .apply_max_message_size_config(
3477                                max_decoding_message_size,
3478                                max_encoding_message_size,
3479                            );
3480                        let res = grpc.unary(method, req).await;
3481                        Ok(res)
3482                    };
3483                    Box::pin(fut)
3484                }
3485                "/TaskHubSidecarService/CreateTaskHub" => {
3486                    #[allow(non_camel_case_types)]
3487                    struct CreateTaskHubSvc<T: TaskHubSidecarService>(pub Arc<T>);
3488                    impl<
3489                        T: TaskHubSidecarService,
3490                    > tonic::server::UnaryService<super::CreateTaskHubRequest>
3491                    for CreateTaskHubSvc<T> {
3492                        type Response = super::CreateTaskHubResponse;
3493                        type Future = BoxFuture<
3494                            tonic::Response<Self::Response>,
3495                            tonic::Status,
3496                        >;
3497                        fn call(
3498                            &mut self,
3499                            request: tonic::Request<super::CreateTaskHubRequest>,
3500                        ) -> Self::Future {
3501                            let inner = Arc::clone(&self.0);
3502                            let fut = async move {
3503                                <T as TaskHubSidecarService>::create_task_hub(
3504                                        &inner,
3505                                        request,
3506                                    )
3507                                    .await
3508                            };
3509                            Box::pin(fut)
3510                        }
3511                    }
3512                    let accept_compression_encodings = self.accept_compression_encodings;
3513                    let send_compression_encodings = self.send_compression_encodings;
3514                    let max_decoding_message_size = self.max_decoding_message_size;
3515                    let max_encoding_message_size = self.max_encoding_message_size;
3516                    let inner = self.inner.clone();
3517                    let fut = async move {
3518                        let method = CreateTaskHubSvc(inner);
3519                        let codec = tonic::codec::ProstCodec::default();
3520                        let mut grpc = tonic::server::Grpc::new(codec)
3521                            .apply_compression_config(
3522                                accept_compression_encodings,
3523                                send_compression_encodings,
3524                            )
3525                            .apply_max_message_size_config(
3526                                max_decoding_message_size,
3527                                max_encoding_message_size,
3528                            );
3529                        let res = grpc.unary(method, req).await;
3530                        Ok(res)
3531                    };
3532                    Box::pin(fut)
3533                }
3534                "/TaskHubSidecarService/DeleteTaskHub" => {
3535                    #[allow(non_camel_case_types)]
3536                    struct DeleteTaskHubSvc<T: TaskHubSidecarService>(pub Arc<T>);
3537                    impl<
3538                        T: TaskHubSidecarService,
3539                    > tonic::server::UnaryService<super::DeleteTaskHubRequest>
3540                    for DeleteTaskHubSvc<T> {
3541                        type Response = super::DeleteTaskHubResponse;
3542                        type Future = BoxFuture<
3543                            tonic::Response<Self::Response>,
3544                            tonic::Status,
3545                        >;
3546                        fn call(
3547                            &mut self,
3548                            request: tonic::Request<super::DeleteTaskHubRequest>,
3549                        ) -> Self::Future {
3550                            let inner = Arc::clone(&self.0);
3551                            let fut = async move {
3552                                <T as TaskHubSidecarService>::delete_task_hub(
3553                                        &inner,
3554                                        request,
3555                                    )
3556                                    .await
3557                            };
3558                            Box::pin(fut)
3559                        }
3560                    }
3561                    let accept_compression_encodings = self.accept_compression_encodings;
3562                    let send_compression_encodings = self.send_compression_encodings;
3563                    let max_decoding_message_size = self.max_decoding_message_size;
3564                    let max_encoding_message_size = self.max_encoding_message_size;
3565                    let inner = self.inner.clone();
3566                    let fut = async move {
3567                        let method = DeleteTaskHubSvc(inner);
3568                        let codec = tonic::codec::ProstCodec::default();
3569                        let mut grpc = tonic::server::Grpc::new(codec)
3570                            .apply_compression_config(
3571                                accept_compression_encodings,
3572                                send_compression_encodings,
3573                            )
3574                            .apply_max_message_size_config(
3575                                max_decoding_message_size,
3576                                max_encoding_message_size,
3577                            );
3578                        let res = grpc.unary(method, req).await;
3579                        Ok(res)
3580                    };
3581                    Box::pin(fut)
3582                }
3583                "/TaskHubSidecarService/SignalEntity" => {
3584                    #[allow(non_camel_case_types)]
3585                    struct SignalEntitySvc<T: TaskHubSidecarService>(pub Arc<T>);
3586                    impl<
3587                        T: TaskHubSidecarService,
3588                    > tonic::server::UnaryService<super::SignalEntityRequest>
3589                    for SignalEntitySvc<T> {
3590                        type Response = super::SignalEntityResponse;
3591                        type Future = BoxFuture<
3592                            tonic::Response<Self::Response>,
3593                            tonic::Status,
3594                        >;
3595                        fn call(
3596                            &mut self,
3597                            request: tonic::Request<super::SignalEntityRequest>,
3598                        ) -> Self::Future {
3599                            let inner = Arc::clone(&self.0);
3600                            let fut = async move {
3601                                <T as TaskHubSidecarService>::signal_entity(&inner, request)
3602                                    .await
3603                            };
3604                            Box::pin(fut)
3605                        }
3606                    }
3607                    let accept_compression_encodings = self.accept_compression_encodings;
3608                    let send_compression_encodings = self.send_compression_encodings;
3609                    let max_decoding_message_size = self.max_decoding_message_size;
3610                    let max_encoding_message_size = self.max_encoding_message_size;
3611                    let inner = self.inner.clone();
3612                    let fut = async move {
3613                        let method = SignalEntitySvc(inner);
3614                        let codec = tonic::codec::ProstCodec::default();
3615                        let mut grpc = tonic::server::Grpc::new(codec)
3616                            .apply_compression_config(
3617                                accept_compression_encodings,
3618                                send_compression_encodings,
3619                            )
3620                            .apply_max_message_size_config(
3621                                max_decoding_message_size,
3622                                max_encoding_message_size,
3623                            );
3624                        let res = grpc.unary(method, req).await;
3625                        Ok(res)
3626                    };
3627                    Box::pin(fut)
3628                }
3629                "/TaskHubSidecarService/GetEntity" => {
3630                    #[allow(non_camel_case_types)]
3631                    struct GetEntitySvc<T: TaskHubSidecarService>(pub Arc<T>);
3632                    impl<
3633                        T: TaskHubSidecarService,
3634                    > tonic::server::UnaryService<super::GetEntityRequest>
3635                    for GetEntitySvc<T> {
3636                        type Response = super::GetEntityResponse;
3637                        type Future = BoxFuture<
3638                            tonic::Response<Self::Response>,
3639                            tonic::Status,
3640                        >;
3641                        fn call(
3642                            &mut self,
3643                            request: tonic::Request<super::GetEntityRequest>,
3644                        ) -> Self::Future {
3645                            let inner = Arc::clone(&self.0);
3646                            let fut = async move {
3647                                <T as TaskHubSidecarService>::get_entity(&inner, request)
3648                                    .await
3649                            };
3650                            Box::pin(fut)
3651                        }
3652                    }
3653                    let accept_compression_encodings = self.accept_compression_encodings;
3654                    let send_compression_encodings = self.send_compression_encodings;
3655                    let max_decoding_message_size = self.max_decoding_message_size;
3656                    let max_encoding_message_size = self.max_encoding_message_size;
3657                    let inner = self.inner.clone();
3658                    let fut = async move {
3659                        let method = GetEntitySvc(inner);
3660                        let codec = tonic::codec::ProstCodec::default();
3661                        let mut grpc = tonic::server::Grpc::new(codec)
3662                            .apply_compression_config(
3663                                accept_compression_encodings,
3664                                send_compression_encodings,
3665                            )
3666                            .apply_max_message_size_config(
3667                                max_decoding_message_size,
3668                                max_encoding_message_size,
3669                            );
3670                        let res = grpc.unary(method, req).await;
3671                        Ok(res)
3672                    };
3673                    Box::pin(fut)
3674                }
3675                "/TaskHubSidecarService/QueryEntities" => {
3676                    #[allow(non_camel_case_types)]
3677                    struct QueryEntitiesSvc<T: TaskHubSidecarService>(pub Arc<T>);
3678                    impl<
3679                        T: TaskHubSidecarService,
3680                    > tonic::server::UnaryService<super::QueryEntitiesRequest>
3681                    for QueryEntitiesSvc<T> {
3682                        type Response = super::QueryEntitiesResponse;
3683                        type Future = BoxFuture<
3684                            tonic::Response<Self::Response>,
3685                            tonic::Status,
3686                        >;
3687                        fn call(
3688                            &mut self,
3689                            request: tonic::Request<super::QueryEntitiesRequest>,
3690                        ) -> Self::Future {
3691                            let inner = Arc::clone(&self.0);
3692                            let fut = async move {
3693                                <T as TaskHubSidecarService>::query_entities(
3694                                        &inner,
3695                                        request,
3696                                    )
3697                                    .await
3698                            };
3699                            Box::pin(fut)
3700                        }
3701                    }
3702                    let accept_compression_encodings = self.accept_compression_encodings;
3703                    let send_compression_encodings = self.send_compression_encodings;
3704                    let max_decoding_message_size = self.max_decoding_message_size;
3705                    let max_encoding_message_size = self.max_encoding_message_size;
3706                    let inner = self.inner.clone();
3707                    let fut = async move {
3708                        let method = QueryEntitiesSvc(inner);
3709                        let codec = tonic::codec::ProstCodec::default();
3710                        let mut grpc = tonic::server::Grpc::new(codec)
3711                            .apply_compression_config(
3712                                accept_compression_encodings,
3713                                send_compression_encodings,
3714                            )
3715                            .apply_max_message_size_config(
3716                                max_decoding_message_size,
3717                                max_encoding_message_size,
3718                            );
3719                        let res = grpc.unary(method, req).await;
3720                        Ok(res)
3721                    };
3722                    Box::pin(fut)
3723                }
3724                "/TaskHubSidecarService/CleanEntityStorage" => {
3725                    #[allow(non_camel_case_types)]
3726                    struct CleanEntityStorageSvc<T: TaskHubSidecarService>(pub Arc<T>);
3727                    impl<
3728                        T: TaskHubSidecarService,
3729                    > tonic::server::UnaryService<super::CleanEntityStorageRequest>
3730                    for CleanEntityStorageSvc<T> {
3731                        type Response = super::CleanEntityStorageResponse;
3732                        type Future = BoxFuture<
3733                            tonic::Response<Self::Response>,
3734                            tonic::Status,
3735                        >;
3736                        fn call(
3737                            &mut self,
3738                            request: tonic::Request<super::CleanEntityStorageRequest>,
3739                        ) -> Self::Future {
3740                            let inner = Arc::clone(&self.0);
3741                            let fut = async move {
3742                                <T as TaskHubSidecarService>::clean_entity_storage(
3743                                        &inner,
3744                                        request,
3745                                    )
3746                                    .await
3747                            };
3748                            Box::pin(fut)
3749                        }
3750                    }
3751                    let accept_compression_encodings = self.accept_compression_encodings;
3752                    let send_compression_encodings = self.send_compression_encodings;
3753                    let max_decoding_message_size = self.max_decoding_message_size;
3754                    let max_encoding_message_size = self.max_encoding_message_size;
3755                    let inner = self.inner.clone();
3756                    let fut = async move {
3757                        let method = CleanEntityStorageSvc(inner);
3758                        let codec = tonic::codec::ProstCodec::default();
3759                        let mut grpc = tonic::server::Grpc::new(codec)
3760                            .apply_compression_config(
3761                                accept_compression_encodings,
3762                                send_compression_encodings,
3763                            )
3764                            .apply_max_message_size_config(
3765                                max_decoding_message_size,
3766                                max_encoding_message_size,
3767                            );
3768                        let res = grpc.unary(method, req).await;
3769                        Ok(res)
3770                    };
3771                    Box::pin(fut)
3772                }
3773                _ => {
3774                    Box::pin(async move {
3775                        let mut response = http::Response::new(empty_body());
3776                        let headers = response.headers_mut();
3777                        headers
3778                            .insert(
3779                                tonic::Status::GRPC_STATUS,
3780                                (tonic::Code::Unimplemented as i32).into(),
3781                            );
3782                        headers
3783                            .insert(
3784                                http::header::CONTENT_TYPE,
3785                                tonic::metadata::GRPC_CONTENT_TYPE,
3786                            );
3787                        Ok(response)
3788                    })
3789                }
3790            }
3791        }
3792    }
3793    impl<T> Clone for TaskHubSidecarServiceServer<T> {
3794        fn clone(&self) -> Self {
3795            let inner = self.inner.clone();
3796            Self {
3797                inner,
3798                accept_compression_encodings: self.accept_compression_encodings,
3799                send_compression_encodings: self.send_compression_encodings,
3800                max_decoding_message_size: self.max_decoding_message_size,
3801                max_encoding_message_size: self.max_encoding_message_size,
3802            }
3803        }
3804    }
3805    /// Generated gRPC service name
3806    pub const SERVICE_NAME: &str = "TaskHubSidecarService";
3807    impl<T> tonic::server::NamedService for TaskHubSidecarServiceServer<T> {
3808        const NAME: &'static str = SERVICE_NAME;
3809    }
3810}