plexspaces 0.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. plexspaces/__init__.py +80 -0
  2. plexspaces/actor_id.py +114 -0
  3. plexspaces/decorators.py +691 -0
  4. plexspaces/generated/__init__.py +0 -0
  5. plexspaces/generated/buf/__init__.py +0 -0
  6. plexspaces/generated/buf/validate/__init__.py +3799 -0
  7. plexspaces/generated/google/__init__.py +0 -0
  8. plexspaces/generated/google/api/__init__.py +379 -0
  9. plexspaces/generated/grpc/__init__.py +0 -0
  10. plexspaces/generated/grpc/gateway/__init__.py +0 -0
  11. plexspaces/generated/grpc/gateway/protoc_gen_openapiv2/__init__.py +0 -0
  12. plexspaces/generated/grpc/gateway/protoc_gen_openapiv2/options/__init__.py +1022 -0
  13. plexspaces/generated/plexspaces/__init__.py +0 -0
  14. plexspaces/generated/plexspaces/actor/__init__.py +0 -0
  15. plexspaces/generated/plexspaces/actor/v1/__init__.py +3538 -0
  16. plexspaces/generated/plexspaces/application/__init__.py +0 -0
  17. plexspaces/generated/plexspaces/application/v1/__init__.py +827 -0
  18. plexspaces/generated/plexspaces/behaviors/__init__.py +0 -0
  19. plexspaces/generated/plexspaces/behaviors/v1/__init__.py +63 -0
  20. plexspaces/generated/plexspaces/channel/__init__.py +0 -0
  21. plexspaces/generated/plexspaces/channel/v1/__init__.py +915 -0
  22. plexspaces/generated/plexspaces/circuitbreaker/__init__.py +0 -0
  23. plexspaces/generated/plexspaces/circuitbreaker/prv/__init__.py +398 -0
  24. plexspaces/generated/plexspaces/common/__init__.py +0 -0
  25. plexspaces/generated/plexspaces/common/v1/__init__.py +691 -0
  26. plexspaces/generated/plexspaces/config/__init__.py +0 -0
  27. plexspaces/generated/plexspaces/config/v1/__init__.py +109 -0
  28. plexspaces/generated/plexspaces/dashboard/__init__.py +0 -0
  29. plexspaces/generated/plexspaces/dashboard/v1/__init__.py +647 -0
  30. plexspaces/generated/plexspaces/facets/__init__.py +0 -0
  31. plexspaces/generated/plexspaces/facets/v1/__init__.py +333 -0
  32. plexspaces/generated/plexspaces/firecracker/__init__.py +0 -0
  33. plexspaces/generated/plexspaces/firecracker/v1/__init__.py +890 -0
  34. plexspaces/generated/plexspaces/grpc/__init__.py +0 -0
  35. plexspaces/generated/plexspaces/grpc/v1/__init__.py +679 -0
  36. plexspaces/generated/plexspaces/journaling/__init__.py +0 -0
  37. plexspaces/generated/plexspaces/journaling/v1/__init__.py +1006 -0
  38. plexspaces/generated/plexspaces/keyvalue/__init__.py +0 -0
  39. plexspaces/generated/plexspaces/keyvalue/v1/__init__.py +1007 -0
  40. plexspaces/generated/plexspaces/locks/__init__.py +0 -0
  41. plexspaces/generated/plexspaces/locks/prv/__init__.py +122 -0
  42. plexspaces/generated/plexspaces/mailbox/__init__.py +0 -0
  43. plexspaces/generated/plexspaces/mailbox/v1/__init__.py +246 -0
  44. plexspaces/generated/plexspaces/metrics/__init__.py +0 -0
  45. plexspaces/generated/plexspaces/metrics/v1/__init__.py +878 -0
  46. plexspaces/generated/plexspaces/node/__init__.py +0 -0
  47. plexspaces/generated/plexspaces/node/v1/__init__.py +2564 -0
  48. plexspaces/generated/plexspaces/object_registry/__init__.py +0 -0
  49. plexspaces/generated/plexspaces/object_registry/v1/__init__.py +759 -0
  50. plexspaces/generated/plexspaces/persistence/__init__.py +0 -0
  51. plexspaces/generated/plexspaces/persistence/prv/__init__.py +539 -0
  52. plexspaces/generated/plexspaces/pool/__init__.py +0 -0
  53. plexspaces/generated/plexspaces/pool/v1/__init__.py +791 -0
  54. plexspaces/generated/plexspaces/processgroups/__init__.py +0 -0
  55. plexspaces/generated/plexspaces/processgroups/v1/__init__.py +622 -0
  56. plexspaces/generated/plexspaces/scheduling/__init__.py +0 -0
  57. plexspaces/generated/plexspaces/scheduling/v1/__init__.py +364 -0
  58. plexspaces/generated/plexspaces/security/__init__.py +0 -0
  59. plexspaces/generated/plexspaces/security/v1/__init__.py +254 -0
  60. plexspaces/generated/plexspaces/services/__init__.py +0 -0
  61. plexspaces/generated/plexspaces/services/prv/__init__.py +112 -0
  62. plexspaces/generated/plexspaces/storage/__init__.py +0 -0
  63. plexspaces/generated/plexspaces/storage/v1/__init__.py +747 -0
  64. plexspaces/generated/plexspaces/supervision/__init__.py +0 -0
  65. plexspaces/generated/plexspaces/supervision/v1/__init__.py +536 -0
  66. plexspaces/generated/plexspaces/system/__init__.py +0 -0
  67. plexspaces/generated/plexspaces/system/v1/__init__.py +1602 -0
  68. plexspaces/generated/plexspaces/timer/__init__.py +0 -0
  69. plexspaces/generated/plexspaces/timer/v1/__init__.py +402 -0
  70. plexspaces/generated/plexspaces/tuplespace/__init__.py +0 -0
  71. plexspaces/generated/plexspaces/tuplespace/v1/__init__.py +869 -0
  72. plexspaces/generated/plexspaces/wasm/__init__.py +0 -0
  73. plexspaces/generated/plexspaces/wasm/v1/__init__.py +920 -0
  74. plexspaces/generated/plexspaces/workflow/__init__.py +0 -0
  75. plexspaces/generated/plexspaces/workflow/v1/__init__.py +870 -0
  76. plexspaces/host.py +2093 -0
  77. plexspaces/leader_worker.py +148 -0
  78. plexspaces/proto_wire.py +1357 -0
  79. plexspaces/runtime.py +284 -0
  80. plexspaces/workflow.py +105 -0
  81. plexspaces-0.1.1.dist-info/METADATA +505 -0
  82. plexspaces-0.1.1.dist-info/RECORD +87 -0
  83. plexspaces-0.1.1.dist-info/WHEEL +5 -0
  84. plexspaces-0.1.1.dist-info/entry_points.txt +2 -0
  85. plexspaces-0.1.1.dist-info/top_level.txt +2 -0
  86. plexspaces_cli/__init__.py +8 -0
  87. plexspaces_cli/build.py +374 -0
@@ -0,0 +1,870 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # sources: plexspaces/v1/workflow/workflow.proto
3
+ # plugin: python-betterproto
4
+ # This file has been @generated
5
+
6
+ from dataclasses import dataclass
7
+ from datetime import (
8
+ datetime,
9
+ timedelta,
10
+ )
11
+ from typing import (
12
+ TYPE_CHECKING,
13
+ Dict,
14
+ List,
15
+ Optional,
16
+ )
17
+
18
+ import betterproto
19
+ import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf
20
+ import grpclib
21
+ from betterproto.grpc.grpclib_server import ServiceBase
22
+
23
+ from ...common import v1 as __common_v1__
24
+
25
+ if TYPE_CHECKING:
26
+ import grpclib.server
27
+ from betterproto.grpc.grpclib_client import MetadataLike
28
+ from grpclib.metadata import Deadline
29
+
30
+
31
+ class StepType(betterproto.Enum):
32
+ """Step types (simplified)"""
33
+
34
+ UNSPECIFIED = 0
35
+ TASK = 1
36
+ PARALLEL = 2
37
+ MAP = 3
38
+ WAIT = 4
39
+ CHOICE = 5
40
+ SIGNAL = 6
41
+
42
+
43
+ class ExecutionStatus(betterproto.Enum):
44
+ """Execution status"""
45
+
46
+ UNSPECIFIED = 0
47
+ PENDING = 1
48
+ RUNNING = 2
49
+ COMPLETED = 3
50
+ FAILED = 4
51
+ CANCELLED = 5
52
+ TIMED_OUT = 6
53
+
54
+
55
+ class StepStatus(betterproto.Enum):
56
+ """Step status"""
57
+
58
+ UNSPECIFIED = 0
59
+ PENDING = 1
60
+ RUNNING = 2
61
+ COMPLETED = 3
62
+ FAILED = 4
63
+ RETRYING = 5
64
+ CANCELLED = 6
65
+
66
+
67
+ class WorkflowError(betterproto.Enum):
68
+ """
69
+ Workflow error types
70
+
71
+ ## Purpose
72
+ Defines error types for workflow operations (storage, serialization, execution).
73
+ Used in error responses and for error handling in workflow service.
74
+ """
75
+
76
+ UNSPECIFIED = 0
77
+ STORAGE = 1
78
+ """Storage operation failed (database, journal, etc.)"""
79
+
80
+ SERIALIZATION = 2
81
+ """Serialization/deserialization failed"""
82
+
83
+ NOT_FOUND = 3
84
+ """Workflow or execution not found"""
85
+
86
+ INVALID_DEFINITION = 4
87
+ """Invalid workflow definition"""
88
+
89
+ EXECUTION = 5
90
+ """
91
+ Execution error (runtime failure)
92
+ Execution error (runtime failure)
93
+ """
94
+
95
+ CONCURRENT_UPDATE = 6
96
+ """Concurrent update conflict (optimistic locking failure)"""
97
+
98
+
99
+ @dataclass(eq=False, repr=False)
100
+ class WorkflowDefinition(betterproto.Message):
101
+ """
102
+ Workflow definition (versioned template)
103
+
104
+ Stored in database for querying, defines workflow structure as DAG of steps.
105
+ """
106
+
107
+ id: str = betterproto.string_field(1)
108
+ """Unique definition ID (e.g., "credit-approval")"""
109
+
110
+ name: str = betterproto.string_field(2)
111
+ """Human-readable name"""
112
+
113
+ version: str = betterproto.string_field(3)
114
+ """Semantic version (e.g., "1.0.0")"""
115
+
116
+ steps: List["Step"] = betterproto.message_field(4)
117
+ """Workflow steps (DAG)"""
118
+
119
+ default_timeout: timedelta = betterproto.message_field(5)
120
+ """Default timeout for entire workflow"""
121
+
122
+ default_retry: "RetryConfig" = betterproto.message_field(6)
123
+ """Default retry policy for steps"""
124
+
125
+ labels: Dict[str, str] = betterproto.map_field(
126
+ 7, betterproto.TYPE_STRING, betterproto.TYPE_STRING
127
+ )
128
+ """User-defined labels"""
129
+
130
+ created_at: datetime = betterproto.message_field(8)
131
+ """Creation timestamp"""
132
+
133
+ updated_at: datetime = betterproto.message_field(9)
134
+ """Last update timestamp"""
135
+
136
+
137
+ @dataclass(eq=False, repr=False)
138
+ class Step(betterproto.Message):
139
+ """
140
+ Workflow step definition
141
+
142
+ Defines a single step in workflow DAG with dependencies, retry, and error handling.
143
+ """
144
+
145
+ id: str = betterproto.string_field(1)
146
+ """Unique step ID within workflow"""
147
+
148
+ name: str = betterproto.string_field(2)
149
+ """Human-readable name"""
150
+
151
+ type: "StepType" = betterproto.enum_field(3)
152
+ """Step type (task, parallel, map, etc.)"""
153
+
154
+ depends_on: List[str] = betterproto.string_field(4)
155
+ """Step IDs this depends on (for DAG ordering)"""
156
+
157
+ timeout: timedelta = betterproto.message_field(5)
158
+ """Step-specific timeout"""
159
+
160
+ retry: "RetryConfig" = betterproto.message_field(6)
161
+ """Retry configuration"""
162
+
163
+ on_error: str = betterproto.string_field(7)
164
+ """Step ID to run on error (compensation/saga)"""
165
+
166
+ config: "betterproto_lib_google_protobuf.Struct" = betterproto.message_field(8)
167
+ """Type-specific configuration (JSON)"""
168
+
169
+
170
+ @dataclass(eq=False, repr=False)
171
+ class RetryConfig(betterproto.Message):
172
+ """
173
+ Retry configuration
174
+
175
+ Exponential backoff retry policy with error type matching.
176
+ When fields are unset (proto3 default: 0 for numbers, empty for repeated), runtime defaults apply:
177
+ - max_attempts: 1 (single attempt, no retries)
178
+ - initial_interval_ms: 100
179
+ - backoff_rate: 2.0 (exponential: delay = initial * rate^(attempt-1) capped at max_interval_ms)
180
+ - max_interval_ms: 30000
181
+ Runtime applies full jitter to delay (multiply by random in (0, 1]) before sleeping between retries.
182
+ """
183
+
184
+ max_attempts: int = betterproto.uint32_field(1)
185
+ """
186
+ Maximum retry attempts (1 = single attempt, no retries; unset/0 treated as 1 at runtime)
187
+ """
188
+
189
+ initial_interval_ms: int = betterproto.uint32_field(2)
190
+ """Initial retry interval (milliseconds). Default 100 when unset."""
191
+
192
+ backoff_rate: float = betterproto.double_field(3)
193
+ """
194
+ Exponential backoff rate (e.g., 2.0 for doubling). Default 2.0 when unset.
195
+ """
196
+
197
+ max_interval_ms: int = betterproto.uint32_field(4)
198
+ """Maximum retry interval (milliseconds). Default 30000 when unset."""
199
+
200
+ retryable_errors: List[str] = betterproto.string_field(5)
201
+ """Error types to retry (empty = retry all)"""
202
+
203
+
204
+ @dataclass(eq=False, repr=False)
205
+ class WorkflowExecution(betterproto.Message):
206
+ """
207
+ Workflow execution (metadata)
208
+
209
+ Stored in database for querying. Full state is in journal.
210
+ """
211
+
212
+ execution_id: str = betterproto.string_field(1)
213
+ """Unique execution ID (ULID)"""
214
+
215
+ definition_id: str = betterproto.string_field(2)
216
+ """Workflow definition ID"""
217
+
218
+ definition_version: str = betterproto.string_field(3)
219
+ """Workflow definition version"""
220
+
221
+ status: "ExecutionStatus" = betterproto.enum_field(4)
222
+ """Current execution status"""
223
+
224
+ current_step_id: str = betterproto.string_field(5)
225
+ """Currently executing step ID"""
226
+
227
+ input: "betterproto_lib_google_protobuf.Struct" = betterproto.message_field(6)
228
+ """Initial workflow input"""
229
+
230
+ output: "betterproto_lib_google_protobuf.Struct" = betterproto.message_field(7)
231
+ """Final workflow output (if completed)"""
232
+
233
+ error: str = betterproto.string_field(8)
234
+ """Error message (if failed)"""
235
+
236
+ node_id: str = betterproto.string_field(9)
237
+ """Node executing this workflow"""
238
+
239
+ created_at: datetime = betterproto.message_field(10)
240
+ """Creation timestamp"""
241
+
242
+ started_at: datetime = betterproto.message_field(11)
243
+ """Start timestamp"""
244
+
245
+ completed_at: datetime = betterproto.message_field(12)
246
+ """Completion timestamp"""
247
+
248
+ updated_at: datetime = betterproto.message_field(13)
249
+ """Last update timestamp"""
250
+
251
+ labels: Dict[str, str] = betterproto.map_field(
252
+ 14, betterproto.TYPE_STRING, betterproto.TYPE_STRING
253
+ )
254
+ """User-defined labels"""
255
+
256
+ last_heartbeat: Optional[datetime] = betterproto.message_field(15, optional=True)
257
+ """
258
+ Last heartbeat timestamp (set by update_heartbeat, tracks node liveness)
259
+ """
260
+
261
+
262
+ @dataclass(eq=False, repr=False)
263
+ class StepExecution(betterproto.Message):
264
+ """
265
+ Step execution (metadata)
266
+
267
+ Stored in database for history/monitoring. Full state in journal.
268
+ """
269
+
270
+ step_execution_id: str = betterproto.string_field(1)
271
+ """Unique step execution ID (ULID)"""
272
+
273
+ execution_id: str = betterproto.string_field(2)
274
+ """Parent workflow execution ID"""
275
+
276
+ step_id: str = betterproto.string_field(3)
277
+ """Step definition ID"""
278
+
279
+ status: "StepStatus" = betterproto.enum_field(4)
280
+ """Step status"""
281
+
282
+ input: "betterproto_lib_google_protobuf.Struct" = betterproto.message_field(5)
283
+ """Step input"""
284
+
285
+ output: "betterproto_lib_google_protobuf.Struct" = betterproto.message_field(6)
286
+ """Step output"""
287
+
288
+ error: str = betterproto.string_field(7)
289
+ """Error message (if failed)"""
290
+
291
+ attempt: int = betterproto.uint32_field(8)
292
+ """Retry attempt number"""
293
+
294
+ started_at: datetime = betterproto.message_field(9)
295
+ """Start timestamp"""
296
+
297
+ completed_at: datetime = betterproto.message_field(10)
298
+ """Completion timestamp"""
299
+
300
+
301
+ @dataclass(eq=False, repr=False)
302
+ class CreateDefinitionRequest(betterproto.Message):
303
+ definition: "WorkflowDefinition" = betterproto.message_field(1)
304
+
305
+
306
+ @dataclass(eq=False, repr=False)
307
+ class CreateDefinitionResponse(betterproto.Message):
308
+ definition: "WorkflowDefinition" = betterproto.message_field(1)
309
+
310
+
311
+ @dataclass(eq=False, repr=False)
312
+ class GetDefinitionRequest(betterproto.Message):
313
+ id: str = betterproto.string_field(1)
314
+ version: str = betterproto.string_field(2)
315
+
316
+
317
+ @dataclass(eq=False, repr=False)
318
+ class GetDefinitionResponse(betterproto.Message):
319
+ definition: "WorkflowDefinition" = betterproto.message_field(1)
320
+
321
+
322
+ @dataclass(eq=False, repr=False)
323
+ class ListDefinitionsRequest(betterproto.Message):
324
+ page: "__common_v1__.PageRequest" = betterproto.message_field(1)
325
+ label_filter: Dict[str, str] = betterproto.map_field(
326
+ 2, betterproto.TYPE_STRING, betterproto.TYPE_STRING
327
+ )
328
+ name_prefix: str = betterproto.string_field(3)
329
+
330
+
331
+ @dataclass(eq=False, repr=False)
332
+ class ListDefinitionsResponse(betterproto.Message):
333
+ definitions: List["WorkflowDefinition"] = betterproto.message_field(1)
334
+ page: "__common_v1__.PageResponse" = betterproto.message_field(2)
335
+
336
+
337
+ @dataclass(eq=False, repr=False)
338
+ class UpdateDefinitionRequest(betterproto.Message):
339
+ definition: "WorkflowDefinition" = betterproto.message_field(1)
340
+
341
+
342
+ @dataclass(eq=False, repr=False)
343
+ class UpdateDefinitionResponse(betterproto.Message):
344
+ definition: "WorkflowDefinition" = betterproto.message_field(1)
345
+
346
+
347
+ @dataclass(eq=False, repr=False)
348
+ class DeleteDefinitionRequest(betterproto.Message):
349
+ id: str = betterproto.string_field(1)
350
+ version: str = betterproto.string_field(2)
351
+
352
+
353
+ @dataclass(eq=False, repr=False)
354
+ class StartExecutionRequest(betterproto.Message):
355
+ definition_id: str = betterproto.string_field(1)
356
+ definition_version: str = betterproto.string_field(2)
357
+ input: "betterproto_lib_google_protobuf.Struct" = betterproto.message_field(3)
358
+ execution_id: str = betterproto.string_field(4)
359
+ labels: Dict[str, str] = betterproto.map_field(
360
+ 5, betterproto.TYPE_STRING, betterproto.TYPE_STRING
361
+ )
362
+
363
+
364
+ @dataclass(eq=False, repr=False)
365
+ class StartExecutionResponse(betterproto.Message):
366
+ execution_id: str = betterproto.string_field(1)
367
+
368
+
369
+ @dataclass(eq=False, repr=False)
370
+ class GetExecutionRequest(betterproto.Message):
371
+ execution_id: str = betterproto.string_field(1)
372
+
373
+
374
+ @dataclass(eq=False, repr=False)
375
+ class GetExecutionResponse(betterproto.Message):
376
+ execution: "WorkflowExecution" = betterproto.message_field(1)
377
+
378
+
379
+ @dataclass(eq=False, repr=False)
380
+ class ListExecutionsRequest(betterproto.Message):
381
+ page: "__common_v1__.PageRequest" = betterproto.message_field(1)
382
+ definition_id: str = betterproto.string_field(2)
383
+ status: "ExecutionStatus" = betterproto.enum_field(3)
384
+ label_filter: Dict[str, str] = betterproto.map_field(
385
+ 4, betterproto.TYPE_STRING, betterproto.TYPE_STRING
386
+ )
387
+ started_after: datetime = betterproto.message_field(5)
388
+ started_before: datetime = betterproto.message_field(6)
389
+
390
+
391
+ @dataclass(eq=False, repr=False)
392
+ class ListExecutionsResponse(betterproto.Message):
393
+ executions: List["WorkflowExecution"] = betterproto.message_field(1)
394
+ page: "__common_v1__.PageResponse" = betterproto.message_field(2)
395
+
396
+
397
+ @dataclass(eq=False, repr=False)
398
+ class CancelExecutionRequest(betterproto.Message):
399
+ execution_id: str = betterproto.string_field(1)
400
+ reason: str = betterproto.string_field(2)
401
+
402
+
403
+ @dataclass(eq=False, repr=False)
404
+ class SignalExecutionRequest(betterproto.Message):
405
+ execution_id: str = betterproto.string_field(1)
406
+ signal_name: str = betterproto.string_field(2)
407
+ data: "betterproto_lib_google_protobuf.Value" = betterproto.message_field(3)
408
+
409
+
410
+ @dataclass(eq=False, repr=False)
411
+ class QueryExecutionRequest(betterproto.Message):
412
+ execution_id: str = betterproto.string_field(1)
413
+ query_name: str = betterproto.string_field(2)
414
+
415
+
416
+ @dataclass(eq=False, repr=False)
417
+ class QueryExecutionResponse(betterproto.Message):
418
+ result: "betterproto_lib_google_protobuf.Value" = betterproto.message_field(1)
419
+
420
+
421
+ @dataclass(eq=False, repr=False)
422
+ class GetStepExecutionsRequest(betterproto.Message):
423
+ execution_id: str = betterproto.string_field(1)
424
+ page: "__common_v1__.PageRequest" = betterproto.message_field(2)
425
+
426
+
427
+ @dataclass(eq=False, repr=False)
428
+ class GetStepExecutionsResponse(betterproto.Message):
429
+ step_executions: List["StepExecution"] = betterproto.message_field(1)
430
+ page: "__common_v1__.PageResponse" = betterproto.message_field(2)
431
+
432
+
433
+ class WorkflowServiceStub(betterproto.ServiceStub):
434
+ async def create_definition(
435
+ self,
436
+ create_definition_request: "CreateDefinitionRequest",
437
+ *,
438
+ timeout: Optional[float] = None,
439
+ deadline: Optional["Deadline"] = None,
440
+ metadata: Optional["MetadataLike"] = None
441
+ ) -> "CreateDefinitionResponse":
442
+ return await self._unary_unary(
443
+ "/plexspaces.workflow.v1.WorkflowService/CreateDefinition",
444
+ create_definition_request,
445
+ CreateDefinitionResponse,
446
+ timeout=timeout,
447
+ deadline=deadline,
448
+ metadata=metadata,
449
+ )
450
+
451
+ async def get_definition(
452
+ self,
453
+ get_definition_request: "GetDefinitionRequest",
454
+ *,
455
+ timeout: Optional[float] = None,
456
+ deadline: Optional["Deadline"] = None,
457
+ metadata: Optional["MetadataLike"] = None
458
+ ) -> "GetDefinitionResponse":
459
+ return await self._unary_unary(
460
+ "/plexspaces.workflow.v1.WorkflowService/GetDefinition",
461
+ get_definition_request,
462
+ GetDefinitionResponse,
463
+ timeout=timeout,
464
+ deadline=deadline,
465
+ metadata=metadata,
466
+ )
467
+
468
+ async def list_definitions(
469
+ self,
470
+ list_definitions_request: "ListDefinitionsRequest",
471
+ *,
472
+ timeout: Optional[float] = None,
473
+ deadline: Optional["Deadline"] = None,
474
+ metadata: Optional["MetadataLike"] = None
475
+ ) -> "ListDefinitionsResponse":
476
+ return await self._unary_unary(
477
+ "/plexspaces.workflow.v1.WorkflowService/ListDefinitions",
478
+ list_definitions_request,
479
+ ListDefinitionsResponse,
480
+ timeout=timeout,
481
+ deadline=deadline,
482
+ metadata=metadata,
483
+ )
484
+
485
+ async def update_definition(
486
+ self,
487
+ update_definition_request: "UpdateDefinitionRequest",
488
+ *,
489
+ timeout: Optional[float] = None,
490
+ deadline: Optional["Deadline"] = None,
491
+ metadata: Optional["MetadataLike"] = None
492
+ ) -> "UpdateDefinitionResponse":
493
+ return await self._unary_unary(
494
+ "/plexspaces.workflow.v1.WorkflowService/UpdateDefinition",
495
+ update_definition_request,
496
+ UpdateDefinitionResponse,
497
+ timeout=timeout,
498
+ deadline=deadline,
499
+ metadata=metadata,
500
+ )
501
+
502
+ async def delete_definition(
503
+ self,
504
+ delete_definition_request: "DeleteDefinitionRequest",
505
+ *,
506
+ timeout: Optional[float] = None,
507
+ deadline: Optional["Deadline"] = None,
508
+ metadata: Optional["MetadataLike"] = None
509
+ ) -> "__common_v1__.Empty":
510
+ return await self._unary_unary(
511
+ "/plexspaces.workflow.v1.WorkflowService/DeleteDefinition",
512
+ delete_definition_request,
513
+ __common_v1__.Empty,
514
+ timeout=timeout,
515
+ deadline=deadline,
516
+ metadata=metadata,
517
+ )
518
+
519
+ async def start_execution(
520
+ self,
521
+ start_execution_request: "StartExecutionRequest",
522
+ *,
523
+ timeout: Optional[float] = None,
524
+ deadline: Optional["Deadline"] = None,
525
+ metadata: Optional["MetadataLike"] = None
526
+ ) -> "StartExecutionResponse":
527
+ return await self._unary_unary(
528
+ "/plexspaces.workflow.v1.WorkflowService/StartExecution",
529
+ start_execution_request,
530
+ StartExecutionResponse,
531
+ timeout=timeout,
532
+ deadline=deadline,
533
+ metadata=metadata,
534
+ )
535
+
536
+ async def get_execution(
537
+ self,
538
+ get_execution_request: "GetExecutionRequest",
539
+ *,
540
+ timeout: Optional[float] = None,
541
+ deadline: Optional["Deadline"] = None,
542
+ metadata: Optional["MetadataLike"] = None
543
+ ) -> "GetExecutionResponse":
544
+ return await self._unary_unary(
545
+ "/plexspaces.workflow.v1.WorkflowService/GetExecution",
546
+ get_execution_request,
547
+ GetExecutionResponse,
548
+ timeout=timeout,
549
+ deadline=deadline,
550
+ metadata=metadata,
551
+ )
552
+
553
+ async def list_executions(
554
+ self,
555
+ list_executions_request: "ListExecutionsRequest",
556
+ *,
557
+ timeout: Optional[float] = None,
558
+ deadline: Optional["Deadline"] = None,
559
+ metadata: Optional["MetadataLike"] = None
560
+ ) -> "ListExecutionsResponse":
561
+ return await self._unary_unary(
562
+ "/plexspaces.workflow.v1.WorkflowService/ListExecutions",
563
+ list_executions_request,
564
+ ListExecutionsResponse,
565
+ timeout=timeout,
566
+ deadline=deadline,
567
+ metadata=metadata,
568
+ )
569
+
570
+ async def cancel_execution(
571
+ self,
572
+ cancel_execution_request: "CancelExecutionRequest",
573
+ *,
574
+ timeout: Optional[float] = None,
575
+ deadline: Optional["Deadline"] = None,
576
+ metadata: Optional["MetadataLike"] = None
577
+ ) -> "__common_v1__.Empty":
578
+ return await self._unary_unary(
579
+ "/plexspaces.workflow.v1.WorkflowService/CancelExecution",
580
+ cancel_execution_request,
581
+ __common_v1__.Empty,
582
+ timeout=timeout,
583
+ deadline=deadline,
584
+ metadata=metadata,
585
+ )
586
+
587
+ async def signal_execution(
588
+ self,
589
+ signal_execution_request: "SignalExecutionRequest",
590
+ *,
591
+ timeout: Optional[float] = None,
592
+ deadline: Optional["Deadline"] = None,
593
+ metadata: Optional["MetadataLike"] = None
594
+ ) -> "__common_v1__.Empty":
595
+ return await self._unary_unary(
596
+ "/plexspaces.workflow.v1.WorkflowService/SignalExecution",
597
+ signal_execution_request,
598
+ __common_v1__.Empty,
599
+ timeout=timeout,
600
+ deadline=deadline,
601
+ metadata=metadata,
602
+ )
603
+
604
+ async def query_execution(
605
+ self,
606
+ query_execution_request: "QueryExecutionRequest",
607
+ *,
608
+ timeout: Optional[float] = None,
609
+ deadline: Optional["Deadline"] = None,
610
+ metadata: Optional["MetadataLike"] = None
611
+ ) -> "QueryExecutionResponse":
612
+ return await self._unary_unary(
613
+ "/plexspaces.workflow.v1.WorkflowService/QueryExecution",
614
+ query_execution_request,
615
+ QueryExecutionResponse,
616
+ timeout=timeout,
617
+ deadline=deadline,
618
+ metadata=metadata,
619
+ )
620
+
621
+ async def get_step_executions(
622
+ self,
623
+ get_step_executions_request: "GetStepExecutionsRequest",
624
+ *,
625
+ timeout: Optional[float] = None,
626
+ deadline: Optional["Deadline"] = None,
627
+ metadata: Optional["MetadataLike"] = None
628
+ ) -> "GetStepExecutionsResponse":
629
+ return await self._unary_unary(
630
+ "/plexspaces.workflow.v1.WorkflowService/GetStepExecutions",
631
+ get_step_executions_request,
632
+ GetStepExecutionsResponse,
633
+ timeout=timeout,
634
+ deadline=deadline,
635
+ metadata=metadata,
636
+ )
637
+
638
+
639
+ class WorkflowServiceBase(ServiceBase):
640
+
641
+ async def create_definition(
642
+ self, create_definition_request: "CreateDefinitionRequest"
643
+ ) -> "CreateDefinitionResponse":
644
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
645
+
646
+ async def get_definition(
647
+ self, get_definition_request: "GetDefinitionRequest"
648
+ ) -> "GetDefinitionResponse":
649
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
650
+
651
+ async def list_definitions(
652
+ self, list_definitions_request: "ListDefinitionsRequest"
653
+ ) -> "ListDefinitionsResponse":
654
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
655
+
656
+ async def update_definition(
657
+ self, update_definition_request: "UpdateDefinitionRequest"
658
+ ) -> "UpdateDefinitionResponse":
659
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
660
+
661
+ async def delete_definition(
662
+ self, delete_definition_request: "DeleteDefinitionRequest"
663
+ ) -> "__common_v1__.Empty":
664
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
665
+
666
+ async def start_execution(
667
+ self, start_execution_request: "StartExecutionRequest"
668
+ ) -> "StartExecutionResponse":
669
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
670
+
671
+ async def get_execution(
672
+ self, get_execution_request: "GetExecutionRequest"
673
+ ) -> "GetExecutionResponse":
674
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
675
+
676
+ async def list_executions(
677
+ self, list_executions_request: "ListExecutionsRequest"
678
+ ) -> "ListExecutionsResponse":
679
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
680
+
681
+ async def cancel_execution(
682
+ self, cancel_execution_request: "CancelExecutionRequest"
683
+ ) -> "__common_v1__.Empty":
684
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
685
+
686
+ async def signal_execution(
687
+ self, signal_execution_request: "SignalExecutionRequest"
688
+ ) -> "__common_v1__.Empty":
689
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
690
+
691
+ async def query_execution(
692
+ self, query_execution_request: "QueryExecutionRequest"
693
+ ) -> "QueryExecutionResponse":
694
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
695
+
696
+ async def get_step_executions(
697
+ self, get_step_executions_request: "GetStepExecutionsRequest"
698
+ ) -> "GetStepExecutionsResponse":
699
+ raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED)
700
+
701
+ async def __rpc_create_definition(
702
+ self,
703
+ stream: "grpclib.server.Stream[CreateDefinitionRequest, CreateDefinitionResponse]",
704
+ ) -> None:
705
+ request = await stream.recv_message()
706
+ response = await self.create_definition(request)
707
+ await stream.send_message(response)
708
+
709
+ async def __rpc_get_definition(
710
+ self,
711
+ stream: "grpclib.server.Stream[GetDefinitionRequest, GetDefinitionResponse]",
712
+ ) -> None:
713
+ request = await stream.recv_message()
714
+ response = await self.get_definition(request)
715
+ await stream.send_message(response)
716
+
717
+ async def __rpc_list_definitions(
718
+ self,
719
+ stream: "grpclib.server.Stream[ListDefinitionsRequest, ListDefinitionsResponse]",
720
+ ) -> None:
721
+ request = await stream.recv_message()
722
+ response = await self.list_definitions(request)
723
+ await stream.send_message(response)
724
+
725
+ async def __rpc_update_definition(
726
+ self,
727
+ stream: "grpclib.server.Stream[UpdateDefinitionRequest, UpdateDefinitionResponse]",
728
+ ) -> None:
729
+ request = await stream.recv_message()
730
+ response = await self.update_definition(request)
731
+ await stream.send_message(response)
732
+
733
+ async def __rpc_delete_definition(
734
+ self,
735
+ stream: "grpclib.server.Stream[DeleteDefinitionRequest, __common_v1__.Empty]",
736
+ ) -> None:
737
+ request = await stream.recv_message()
738
+ response = await self.delete_definition(request)
739
+ await stream.send_message(response)
740
+
741
+ async def __rpc_start_execution(
742
+ self,
743
+ stream: "grpclib.server.Stream[StartExecutionRequest, StartExecutionResponse]",
744
+ ) -> None:
745
+ request = await stream.recv_message()
746
+ response = await self.start_execution(request)
747
+ await stream.send_message(response)
748
+
749
+ async def __rpc_get_execution(
750
+ self, stream: "grpclib.server.Stream[GetExecutionRequest, GetExecutionResponse]"
751
+ ) -> None:
752
+ request = await stream.recv_message()
753
+ response = await self.get_execution(request)
754
+ await stream.send_message(response)
755
+
756
+ async def __rpc_list_executions(
757
+ self,
758
+ stream: "grpclib.server.Stream[ListExecutionsRequest, ListExecutionsResponse]",
759
+ ) -> None:
760
+ request = await stream.recv_message()
761
+ response = await self.list_executions(request)
762
+ await stream.send_message(response)
763
+
764
+ async def __rpc_cancel_execution(
765
+ self,
766
+ stream: "grpclib.server.Stream[CancelExecutionRequest, __common_v1__.Empty]",
767
+ ) -> None:
768
+ request = await stream.recv_message()
769
+ response = await self.cancel_execution(request)
770
+ await stream.send_message(response)
771
+
772
+ async def __rpc_signal_execution(
773
+ self,
774
+ stream: "grpclib.server.Stream[SignalExecutionRequest, __common_v1__.Empty]",
775
+ ) -> None:
776
+ request = await stream.recv_message()
777
+ response = await self.signal_execution(request)
778
+ await stream.send_message(response)
779
+
780
+ async def __rpc_query_execution(
781
+ self,
782
+ stream: "grpclib.server.Stream[QueryExecutionRequest, QueryExecutionResponse]",
783
+ ) -> None:
784
+ request = await stream.recv_message()
785
+ response = await self.query_execution(request)
786
+ await stream.send_message(response)
787
+
788
+ async def __rpc_get_step_executions(
789
+ self,
790
+ stream: "grpclib.server.Stream[GetStepExecutionsRequest, GetStepExecutionsResponse]",
791
+ ) -> None:
792
+ request = await stream.recv_message()
793
+ response = await self.get_step_executions(request)
794
+ await stream.send_message(response)
795
+
796
+ def __mapping__(self) -> Dict[str, grpclib.const.Handler]:
797
+ return {
798
+ "/plexspaces.workflow.v1.WorkflowService/CreateDefinition": grpclib.const.Handler(
799
+ self.__rpc_create_definition,
800
+ grpclib.const.Cardinality.UNARY_UNARY,
801
+ CreateDefinitionRequest,
802
+ CreateDefinitionResponse,
803
+ ),
804
+ "/plexspaces.workflow.v1.WorkflowService/GetDefinition": grpclib.const.Handler(
805
+ self.__rpc_get_definition,
806
+ grpclib.const.Cardinality.UNARY_UNARY,
807
+ GetDefinitionRequest,
808
+ GetDefinitionResponse,
809
+ ),
810
+ "/plexspaces.workflow.v1.WorkflowService/ListDefinitions": grpclib.const.Handler(
811
+ self.__rpc_list_definitions,
812
+ grpclib.const.Cardinality.UNARY_UNARY,
813
+ ListDefinitionsRequest,
814
+ ListDefinitionsResponse,
815
+ ),
816
+ "/plexspaces.workflow.v1.WorkflowService/UpdateDefinition": grpclib.const.Handler(
817
+ self.__rpc_update_definition,
818
+ grpclib.const.Cardinality.UNARY_UNARY,
819
+ UpdateDefinitionRequest,
820
+ UpdateDefinitionResponse,
821
+ ),
822
+ "/plexspaces.workflow.v1.WorkflowService/DeleteDefinition": grpclib.const.Handler(
823
+ self.__rpc_delete_definition,
824
+ grpclib.const.Cardinality.UNARY_UNARY,
825
+ DeleteDefinitionRequest,
826
+ __common_v1__.Empty,
827
+ ),
828
+ "/plexspaces.workflow.v1.WorkflowService/StartExecution": grpclib.const.Handler(
829
+ self.__rpc_start_execution,
830
+ grpclib.const.Cardinality.UNARY_UNARY,
831
+ StartExecutionRequest,
832
+ StartExecutionResponse,
833
+ ),
834
+ "/plexspaces.workflow.v1.WorkflowService/GetExecution": grpclib.const.Handler(
835
+ self.__rpc_get_execution,
836
+ grpclib.const.Cardinality.UNARY_UNARY,
837
+ GetExecutionRequest,
838
+ GetExecutionResponse,
839
+ ),
840
+ "/plexspaces.workflow.v1.WorkflowService/ListExecutions": grpclib.const.Handler(
841
+ self.__rpc_list_executions,
842
+ grpclib.const.Cardinality.UNARY_UNARY,
843
+ ListExecutionsRequest,
844
+ ListExecutionsResponse,
845
+ ),
846
+ "/plexspaces.workflow.v1.WorkflowService/CancelExecution": grpclib.const.Handler(
847
+ self.__rpc_cancel_execution,
848
+ grpclib.const.Cardinality.UNARY_UNARY,
849
+ CancelExecutionRequest,
850
+ __common_v1__.Empty,
851
+ ),
852
+ "/plexspaces.workflow.v1.WorkflowService/SignalExecution": grpclib.const.Handler(
853
+ self.__rpc_signal_execution,
854
+ grpclib.const.Cardinality.UNARY_UNARY,
855
+ SignalExecutionRequest,
856
+ __common_v1__.Empty,
857
+ ),
858
+ "/plexspaces.workflow.v1.WorkflowService/QueryExecution": grpclib.const.Handler(
859
+ self.__rpc_query_execution,
860
+ grpclib.const.Cardinality.UNARY_UNARY,
861
+ QueryExecutionRequest,
862
+ QueryExecutionResponse,
863
+ ),
864
+ "/plexspaces.workflow.v1.WorkflowService/GetStepExecutions": grpclib.const.Handler(
865
+ self.__rpc_get_step_executions,
866
+ grpclib.const.Cardinality.UNARY_UNARY,
867
+ GetStepExecutionsRequest,
868
+ GetStepExecutionsResponse,
869
+ ),
870
+ }