rappel 0.10.0__py3-none-win_amd64.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.

Potentially problematic release.


This version of rappel might be problematic. Click here for more details.

proto/messages_pb2.pyi ADDED
@@ -0,0 +1,1495 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import builtins
7
+ import collections.abc
8
+ import sys
9
+ import typing
10
+
11
+ import google.protobuf.descriptor
12
+ import google.protobuf.internal.containers
13
+ import google.protobuf.internal.enum_type_wrapper
14
+ import google.protobuf.message
15
+ import google.protobuf.struct_pb2
16
+
17
+ if sys.version_info >= (3, 10):
18
+ import typing as typing_extensions
19
+ else:
20
+ import typing_extensions
21
+
22
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
23
+
24
+ class _MessageKind:
25
+ ValueType = typing.NewType("ValueType", builtins.int)
26
+ V: typing_extensions.TypeAlias = ValueType
27
+
28
+ class _MessageKindEnumTypeWrapper(
29
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MessageKind.ValueType],
30
+ builtins.type,
31
+ ):
32
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
33
+ MESSAGE_KIND_UNSPECIFIED: _MessageKind.ValueType # 0
34
+ MESSAGE_KIND_ACTION_DISPATCH: _MessageKind.ValueType # 1
35
+ """Server -> Worker: execute this action"""
36
+ MESSAGE_KIND_ACTION_RESULT: _MessageKind.ValueType # 2
37
+ """Worker -> Server: here's the result"""
38
+ MESSAGE_KIND_ACK: _MessageKind.ValueType # 3
39
+ """Worker -> Server: message received"""
40
+ MESSAGE_KIND_HEARTBEAT: _MessageKind.ValueType # 4
41
+ """Bidirectional: keep-alive signal"""
42
+ MESSAGE_KIND_WORKER_HELLO: _MessageKind.ValueType # 5
43
+ """Worker -> Server: handshake on connect"""
44
+
45
+ class MessageKind(_MessageKind, metaclass=_MessageKindEnumTypeWrapper):
46
+ """=============================================================================
47
+ Worker Bridge Communication
48
+ =============================================================================
49
+ These messages handle the core communication between the Rust server and
50
+ Python workers. Workers connect via gRPC streaming and execute actions.
51
+ """
52
+
53
+ MESSAGE_KIND_UNSPECIFIED: MessageKind.ValueType # 0
54
+ MESSAGE_KIND_ACTION_DISPATCH: MessageKind.ValueType # 1
55
+ """Server -> Worker: execute this action"""
56
+ MESSAGE_KIND_ACTION_RESULT: MessageKind.ValueType # 2
57
+ """Worker -> Server: here's the result"""
58
+ MESSAGE_KIND_ACK: MessageKind.ValueType # 3
59
+ """Worker -> Server: message received"""
60
+ MESSAGE_KIND_HEARTBEAT: MessageKind.ValueType # 4
61
+ """Bidirectional: keep-alive signal"""
62
+ MESSAGE_KIND_WORKER_HELLO: MessageKind.ValueType # 5
63
+ """Worker -> Server: handshake on connect"""
64
+ Global___MessageKind: typing_extensions.TypeAlias = MessageKind
65
+
66
+ class _ScheduleType:
67
+ ValueType = typing.NewType("ValueType", builtins.int)
68
+ V: typing_extensions.TypeAlias = ValueType
69
+
70
+ class _ScheduleTypeEnumTypeWrapper(
71
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ScheduleType.ValueType],
72
+ builtins.type,
73
+ ):
74
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
75
+ SCHEDULE_TYPE_UNSPECIFIED: _ScheduleType.ValueType # 0
76
+ SCHEDULE_TYPE_CRON: _ScheduleType.ValueType # 1
77
+ SCHEDULE_TYPE_INTERVAL: _ScheduleType.ValueType # 2
78
+
79
+ class ScheduleType(_ScheduleType, metaclass=_ScheduleTypeEnumTypeWrapper):
80
+ """=============================================================================
81
+ Workflow Schedules
82
+ =============================================================================
83
+ Messages for scheduling workflows to run on a recurring basis.
84
+ """
85
+
86
+ SCHEDULE_TYPE_UNSPECIFIED: ScheduleType.ValueType # 0
87
+ SCHEDULE_TYPE_CRON: ScheduleType.ValueType # 1
88
+ SCHEDULE_TYPE_INTERVAL: ScheduleType.ValueType # 2
89
+ Global___ScheduleType: typing_extensions.TypeAlias = ScheduleType
90
+
91
+ class _ScheduleStatus:
92
+ ValueType = typing.NewType("ValueType", builtins.int)
93
+ V: typing_extensions.TypeAlias = ValueType
94
+
95
+ class _ScheduleStatusEnumTypeWrapper(
96
+ google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ScheduleStatus.ValueType],
97
+ builtins.type,
98
+ ):
99
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
100
+ SCHEDULE_STATUS_UNSPECIFIED: _ScheduleStatus.ValueType # 0
101
+ SCHEDULE_STATUS_ACTIVE: _ScheduleStatus.ValueType # 1
102
+ SCHEDULE_STATUS_PAUSED: _ScheduleStatus.ValueType # 2
103
+
104
+ class ScheduleStatus(_ScheduleStatus, metaclass=_ScheduleStatusEnumTypeWrapper): ...
105
+
106
+ SCHEDULE_STATUS_UNSPECIFIED: ScheduleStatus.ValueType # 0
107
+ SCHEDULE_STATUS_ACTIVE: ScheduleStatus.ValueType # 1
108
+ SCHEDULE_STATUS_PAUSED: ScheduleStatus.ValueType # 2
109
+ Global___ScheduleStatus: typing_extensions.TypeAlias = ScheduleStatus
110
+
111
+ @typing.final
112
+ class Envelope(google.protobuf.message.Message):
113
+ """Universal transport wrapper for all worker bridge messages.
114
+ The `kind` field indicates how to decode the `payload`.
115
+ """
116
+
117
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
118
+
119
+ DELIVERY_ID_FIELD_NUMBER: builtins.int
120
+ PARTITION_ID_FIELD_NUMBER: builtins.int
121
+ KIND_FIELD_NUMBER: builtins.int
122
+ PAYLOAD_FIELD_NUMBER: builtins.int
123
+ delivery_id: builtins.int
124
+ """Unique ID for correlation (ack, response)"""
125
+ partition_id: builtins.int
126
+ """Optional logical grouping"""
127
+ kind: Global___MessageKind.ValueType
128
+ """Message type discriminator"""
129
+ payload: builtins.bytes
130
+ """Encoded message (ActionDispatch, ActionResult, etc.)"""
131
+ def __init__(
132
+ self,
133
+ *,
134
+ delivery_id: builtins.int = ...,
135
+ partition_id: builtins.int = ...,
136
+ kind: Global___MessageKind.ValueType = ...,
137
+ payload: builtins.bytes = ...,
138
+ ) -> None: ...
139
+ def ClearField(
140
+ self,
141
+ field_name: typing.Literal[
142
+ "delivery_id",
143
+ b"delivery_id",
144
+ "kind",
145
+ b"kind",
146
+ "partition_id",
147
+ b"partition_id",
148
+ "payload",
149
+ b"payload",
150
+ ],
151
+ ) -> None: ...
152
+
153
+ Global___Envelope: typing_extensions.TypeAlias = Envelope
154
+
155
+ @typing.final
156
+ class ActionDispatch(google.protobuf.message.Message):
157
+ """Server -> Worker: instruction to execute an action"""
158
+
159
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
160
+
161
+ ACTION_ID_FIELD_NUMBER: builtins.int
162
+ INSTANCE_ID_FIELD_NUMBER: builtins.int
163
+ SEQUENCE_FIELD_NUMBER: builtins.int
164
+ ACTION_NAME_FIELD_NUMBER: builtins.int
165
+ MODULE_NAME_FIELD_NUMBER: builtins.int
166
+ KWARGS_FIELD_NUMBER: builtins.int
167
+ TIMEOUT_SECONDS_FIELD_NUMBER: builtins.int
168
+ MAX_RETRIES_FIELD_NUMBER: builtins.int
169
+ ATTEMPT_NUMBER_FIELD_NUMBER: builtins.int
170
+ DISPATCH_TOKEN_FIELD_NUMBER: builtins.int
171
+ action_id: builtins.str
172
+ """Unique action identifier"""
173
+ instance_id: builtins.str
174
+ """Workflow instance this action belongs to"""
175
+ sequence: builtins.int
176
+ """Sequence number within instance"""
177
+ action_name: builtins.str
178
+ """Action execution details
179
+ Name of the action function to call
180
+ """
181
+ module_name: builtins.str
182
+ """Python module containing the action"""
183
+ timeout_seconds: builtins.int
184
+ """Execution policies"""
185
+ max_retries: builtins.int
186
+ attempt_number: builtins.int
187
+ dispatch_token: builtins.str
188
+ """UUID for result correlation"""
189
+ @property
190
+ def kwargs(self) -> Global___WorkflowArguments:
191
+ """Keyword arguments for the action"""
192
+
193
+ def __init__(
194
+ self,
195
+ *,
196
+ action_id: builtins.str = ...,
197
+ instance_id: builtins.str = ...,
198
+ sequence: builtins.int = ...,
199
+ action_name: builtins.str = ...,
200
+ module_name: builtins.str = ...,
201
+ kwargs: Global___WorkflowArguments | None = ...,
202
+ timeout_seconds: builtins.int | None = ...,
203
+ max_retries: builtins.int | None = ...,
204
+ attempt_number: builtins.int | None = ...,
205
+ dispatch_token: builtins.str | None = ...,
206
+ ) -> None: ...
207
+ def HasField(
208
+ self,
209
+ field_name: typing.Literal[
210
+ "_attempt_number",
211
+ b"_attempt_number",
212
+ "_dispatch_token",
213
+ b"_dispatch_token",
214
+ "_max_retries",
215
+ b"_max_retries",
216
+ "_timeout_seconds",
217
+ b"_timeout_seconds",
218
+ "attempt_number",
219
+ b"attempt_number",
220
+ "dispatch_token",
221
+ b"dispatch_token",
222
+ "kwargs",
223
+ b"kwargs",
224
+ "max_retries",
225
+ b"max_retries",
226
+ "timeout_seconds",
227
+ b"timeout_seconds",
228
+ ],
229
+ ) -> builtins.bool: ...
230
+ def ClearField(
231
+ self,
232
+ field_name: typing.Literal[
233
+ "_attempt_number",
234
+ b"_attempt_number",
235
+ "_dispatch_token",
236
+ b"_dispatch_token",
237
+ "_max_retries",
238
+ b"_max_retries",
239
+ "_timeout_seconds",
240
+ b"_timeout_seconds",
241
+ "action_id",
242
+ b"action_id",
243
+ "action_name",
244
+ b"action_name",
245
+ "attempt_number",
246
+ b"attempt_number",
247
+ "dispatch_token",
248
+ b"dispatch_token",
249
+ "instance_id",
250
+ b"instance_id",
251
+ "kwargs",
252
+ b"kwargs",
253
+ "max_retries",
254
+ b"max_retries",
255
+ "module_name",
256
+ b"module_name",
257
+ "sequence",
258
+ b"sequence",
259
+ "timeout_seconds",
260
+ b"timeout_seconds",
261
+ ],
262
+ ) -> None: ...
263
+ @typing.overload
264
+ def WhichOneof(
265
+ self, oneof_group: typing.Literal["_attempt_number", b"_attempt_number"]
266
+ ) -> typing.Literal["attempt_number"] | None: ...
267
+ @typing.overload
268
+ def WhichOneof(
269
+ self, oneof_group: typing.Literal["_dispatch_token", b"_dispatch_token"]
270
+ ) -> typing.Literal["dispatch_token"] | None: ...
271
+ @typing.overload
272
+ def WhichOneof(
273
+ self, oneof_group: typing.Literal["_max_retries", b"_max_retries"]
274
+ ) -> typing.Literal["max_retries"] | None: ...
275
+ @typing.overload
276
+ def WhichOneof(
277
+ self, oneof_group: typing.Literal["_timeout_seconds", b"_timeout_seconds"]
278
+ ) -> typing.Literal["timeout_seconds"] | None: ...
279
+
280
+ Global___ActionDispatch: typing_extensions.TypeAlias = ActionDispatch
281
+
282
+ @typing.final
283
+ class ActionResult(google.protobuf.message.Message):
284
+ """Worker -> Server: result of action execution"""
285
+
286
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
287
+
288
+ ACTION_ID_FIELD_NUMBER: builtins.int
289
+ SUCCESS_FIELD_NUMBER: builtins.int
290
+ PAYLOAD_FIELD_NUMBER: builtins.int
291
+ WORKER_START_NS_FIELD_NUMBER: builtins.int
292
+ WORKER_END_NS_FIELD_NUMBER: builtins.int
293
+ DISPATCH_TOKEN_FIELD_NUMBER: builtins.int
294
+ ERROR_TYPE_FIELD_NUMBER: builtins.int
295
+ ERROR_MESSAGE_FIELD_NUMBER: builtins.int
296
+ action_id: builtins.str
297
+ success: builtins.bool
298
+ worker_start_ns: builtins.int
299
+ """Perf counter at execution start"""
300
+ worker_end_ns: builtins.int
301
+ """Perf counter at execution end"""
302
+ dispatch_token: builtins.str
303
+ error_type: builtins.str
304
+ """Exception type if success=false"""
305
+ error_message: builtins.str
306
+ """Exception message if success=false"""
307
+ @property
308
+ def payload(self) -> Global___WorkflowArguments:
309
+ """Result or error details"""
310
+
311
+ def __init__(
312
+ self,
313
+ *,
314
+ action_id: builtins.str = ...,
315
+ success: builtins.bool = ...,
316
+ payload: Global___WorkflowArguments | None = ...,
317
+ worker_start_ns: builtins.int = ...,
318
+ worker_end_ns: builtins.int = ...,
319
+ dispatch_token: builtins.str | None = ...,
320
+ error_type: builtins.str | None = ...,
321
+ error_message: builtins.str | None = ...,
322
+ ) -> None: ...
323
+ def HasField(
324
+ self,
325
+ field_name: typing.Literal[
326
+ "_dispatch_token",
327
+ b"_dispatch_token",
328
+ "_error_message",
329
+ b"_error_message",
330
+ "_error_type",
331
+ b"_error_type",
332
+ "dispatch_token",
333
+ b"dispatch_token",
334
+ "error_message",
335
+ b"error_message",
336
+ "error_type",
337
+ b"error_type",
338
+ "payload",
339
+ b"payload",
340
+ ],
341
+ ) -> builtins.bool: ...
342
+ def ClearField(
343
+ self,
344
+ field_name: typing.Literal[
345
+ "_dispatch_token",
346
+ b"_dispatch_token",
347
+ "_error_message",
348
+ b"_error_message",
349
+ "_error_type",
350
+ b"_error_type",
351
+ "action_id",
352
+ b"action_id",
353
+ "dispatch_token",
354
+ b"dispatch_token",
355
+ "error_message",
356
+ b"error_message",
357
+ "error_type",
358
+ b"error_type",
359
+ "payload",
360
+ b"payload",
361
+ "success",
362
+ b"success",
363
+ "worker_end_ns",
364
+ b"worker_end_ns",
365
+ "worker_start_ns",
366
+ b"worker_start_ns",
367
+ ],
368
+ ) -> None: ...
369
+ @typing.overload
370
+ def WhichOneof(
371
+ self, oneof_group: typing.Literal["_dispatch_token", b"_dispatch_token"]
372
+ ) -> typing.Literal["dispatch_token"] | None: ...
373
+ @typing.overload
374
+ def WhichOneof(
375
+ self, oneof_group: typing.Literal["_error_message", b"_error_message"]
376
+ ) -> typing.Literal["error_message"] | None: ...
377
+ @typing.overload
378
+ def WhichOneof(
379
+ self, oneof_group: typing.Literal["_error_type", b"_error_type"]
380
+ ) -> typing.Literal["error_type"] | None: ...
381
+
382
+ Global___ActionResult: typing_extensions.TypeAlias = ActionResult
383
+
384
+ @typing.final
385
+ class Ack(google.protobuf.message.Message):
386
+ """Worker -> Server: acknowledgment of message receipt"""
387
+
388
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
389
+
390
+ ACKED_DELIVERY_ID_FIELD_NUMBER: builtins.int
391
+ acked_delivery_id: builtins.int
392
+ def __init__(
393
+ self,
394
+ *,
395
+ acked_delivery_id: builtins.int = ...,
396
+ ) -> None: ...
397
+ def ClearField(
398
+ self, field_name: typing.Literal["acked_delivery_id", b"acked_delivery_id"]
399
+ ) -> None: ...
400
+
401
+ Global___Ack: typing_extensions.TypeAlias = Ack
402
+
403
+ @typing.final
404
+ class WorkerHello(google.protobuf.message.Message):
405
+ """Worker -> Server: initial handshake when connecting"""
406
+
407
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
408
+
409
+ WORKER_ID_FIELD_NUMBER: builtins.int
410
+ worker_id: builtins.int
411
+ def __init__(
412
+ self,
413
+ *,
414
+ worker_id: builtins.int = ...,
415
+ ) -> None: ...
416
+ def ClearField(self, field_name: typing.Literal["worker_id", b"worker_id"]) -> None: ...
417
+
418
+ Global___WorkerHello: typing_extensions.TypeAlias = WorkerHello
419
+
420
+ @typing.final
421
+ class WorkflowArgumentValue(google.protobuf.message.Message):
422
+ """=============================================================================
423
+ Value Serialization
424
+ =============================================================================
425
+ All values passed between Rust and Python must be JSON-serializable.
426
+ These messages define the wire format for workflow arguments and results.
427
+ """
428
+
429
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
430
+
431
+ PRIMITIVE_FIELD_NUMBER: builtins.int
432
+ BASEMODEL_FIELD_NUMBER: builtins.int
433
+ EXCEPTION_FIELD_NUMBER: builtins.int
434
+ LIST_VALUE_FIELD_NUMBER: builtins.int
435
+ TUPLE_VALUE_FIELD_NUMBER: builtins.int
436
+ DICT_VALUE_FIELD_NUMBER: builtins.int
437
+ @property
438
+ def primitive(self) -> Global___PrimitiveWorkflowArgument: ...
439
+ @property
440
+ def basemodel(self) -> Global___BaseModelWorkflowArgument: ...
441
+ @property
442
+ def exception(self) -> Global___WorkflowErrorValue: ...
443
+ @property
444
+ def list_value(self) -> Global___WorkflowListArgument: ...
445
+ @property
446
+ def tuple_value(self) -> Global___WorkflowTupleArgument: ...
447
+ @property
448
+ def dict_value(self) -> Global___WorkflowDictArgument: ...
449
+ def __init__(
450
+ self,
451
+ *,
452
+ primitive: Global___PrimitiveWorkflowArgument | None = ...,
453
+ basemodel: Global___BaseModelWorkflowArgument | None = ...,
454
+ exception: Global___WorkflowErrorValue | None = ...,
455
+ list_value: Global___WorkflowListArgument | None = ...,
456
+ tuple_value: Global___WorkflowTupleArgument | None = ...,
457
+ dict_value: Global___WorkflowDictArgument | None = ...,
458
+ ) -> None: ...
459
+ def HasField(
460
+ self,
461
+ field_name: typing.Literal[
462
+ "basemodel",
463
+ b"basemodel",
464
+ "dict_value",
465
+ b"dict_value",
466
+ "exception",
467
+ b"exception",
468
+ "kind",
469
+ b"kind",
470
+ "list_value",
471
+ b"list_value",
472
+ "primitive",
473
+ b"primitive",
474
+ "tuple_value",
475
+ b"tuple_value",
476
+ ],
477
+ ) -> builtins.bool: ...
478
+ def ClearField(
479
+ self,
480
+ field_name: typing.Literal[
481
+ "basemodel",
482
+ b"basemodel",
483
+ "dict_value",
484
+ b"dict_value",
485
+ "exception",
486
+ b"exception",
487
+ "kind",
488
+ b"kind",
489
+ "list_value",
490
+ b"list_value",
491
+ "primitive",
492
+ b"primitive",
493
+ "tuple_value",
494
+ b"tuple_value",
495
+ ],
496
+ ) -> None: ...
497
+ def WhichOneof(
498
+ self, oneof_group: typing.Literal["kind", b"kind"]
499
+ ) -> (
500
+ typing.Literal[
501
+ "primitive", "basemodel", "exception", "list_value", "tuple_value", "dict_value"
502
+ ]
503
+ | None
504
+ ): ...
505
+
506
+ Global___WorkflowArgumentValue: typing_extensions.TypeAlias = WorkflowArgumentValue
507
+
508
+ @typing.final
509
+ class WorkflowArgument(google.protobuf.message.Message):
510
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
511
+
512
+ KEY_FIELD_NUMBER: builtins.int
513
+ VALUE_FIELD_NUMBER: builtins.int
514
+ key: builtins.str
515
+ @property
516
+ def value(self) -> Global___WorkflowArgumentValue: ...
517
+ def __init__(
518
+ self,
519
+ *,
520
+ key: builtins.str = ...,
521
+ value: Global___WorkflowArgumentValue | None = ...,
522
+ ) -> None: ...
523
+ def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ...
524
+ def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
525
+
526
+ Global___WorkflowArgument: typing_extensions.TypeAlias = WorkflowArgument
527
+
528
+ @typing.final
529
+ class WorkflowArguments(google.protobuf.message.Message):
530
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
531
+
532
+ ARGUMENTS_FIELD_NUMBER: builtins.int
533
+ @property
534
+ def arguments(
535
+ self,
536
+ ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
537
+ Global___WorkflowArgument
538
+ ]: ...
539
+ def __init__(
540
+ self,
541
+ *,
542
+ arguments: collections.abc.Iterable[Global___WorkflowArgument] | None = ...,
543
+ ) -> None: ...
544
+ def ClearField(self, field_name: typing.Literal["arguments", b"arguments"]) -> None: ...
545
+
546
+ Global___WorkflowArguments: typing_extensions.TypeAlias = WorkflowArguments
547
+
548
+ @typing.final
549
+ class PrimitiveWorkflowArgument(google.protobuf.message.Message):
550
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
551
+
552
+ STRING_VALUE_FIELD_NUMBER: builtins.int
553
+ DOUBLE_VALUE_FIELD_NUMBER: builtins.int
554
+ INT_VALUE_FIELD_NUMBER: builtins.int
555
+ BOOL_VALUE_FIELD_NUMBER: builtins.int
556
+ NULL_VALUE_FIELD_NUMBER: builtins.int
557
+ string_value: builtins.str
558
+ double_value: builtins.float
559
+ int_value: builtins.int
560
+ bool_value: builtins.bool
561
+ null_value: google.protobuf.struct_pb2.NullValue.ValueType
562
+ def __init__(
563
+ self,
564
+ *,
565
+ string_value: builtins.str = ...,
566
+ double_value: builtins.float = ...,
567
+ int_value: builtins.int = ...,
568
+ bool_value: builtins.bool = ...,
569
+ null_value: google.protobuf.struct_pb2.NullValue.ValueType = ...,
570
+ ) -> None: ...
571
+ def HasField(
572
+ self,
573
+ field_name: typing.Literal[
574
+ "bool_value",
575
+ b"bool_value",
576
+ "double_value",
577
+ b"double_value",
578
+ "int_value",
579
+ b"int_value",
580
+ "kind",
581
+ b"kind",
582
+ "null_value",
583
+ b"null_value",
584
+ "string_value",
585
+ b"string_value",
586
+ ],
587
+ ) -> builtins.bool: ...
588
+ def ClearField(
589
+ self,
590
+ field_name: typing.Literal[
591
+ "bool_value",
592
+ b"bool_value",
593
+ "double_value",
594
+ b"double_value",
595
+ "int_value",
596
+ b"int_value",
597
+ "kind",
598
+ b"kind",
599
+ "null_value",
600
+ b"null_value",
601
+ "string_value",
602
+ b"string_value",
603
+ ],
604
+ ) -> None: ...
605
+ def WhichOneof(
606
+ self, oneof_group: typing.Literal["kind", b"kind"]
607
+ ) -> (
608
+ typing.Literal["string_value", "double_value", "int_value", "bool_value", "null_value"]
609
+ | None
610
+ ): ...
611
+
612
+ Global___PrimitiveWorkflowArgument: typing_extensions.TypeAlias = PrimitiveWorkflowArgument
613
+
614
+ @typing.final
615
+ class BaseModelWorkflowArgument(google.protobuf.message.Message):
616
+ """Pydantic BaseModel or similar structured types"""
617
+
618
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
619
+
620
+ MODULE_FIELD_NUMBER: builtins.int
621
+ NAME_FIELD_NUMBER: builtins.int
622
+ DATA_FIELD_NUMBER: builtins.int
623
+ module: builtins.str
624
+ name: builtins.str
625
+ @property
626
+ def data(self) -> Global___WorkflowDictArgument: ...
627
+ def __init__(
628
+ self,
629
+ *,
630
+ module: builtins.str = ...,
631
+ name: builtins.str = ...,
632
+ data: Global___WorkflowDictArgument | None = ...,
633
+ ) -> None: ...
634
+ def HasField(self, field_name: typing.Literal["data", b"data"]) -> builtins.bool: ...
635
+ def ClearField(
636
+ self, field_name: typing.Literal["data", b"data", "module", b"module", "name", b"name"]
637
+ ) -> None: ...
638
+
639
+ Global___BaseModelWorkflowArgument: typing_extensions.TypeAlias = BaseModelWorkflowArgument
640
+
641
+ @typing.final
642
+ class WorkflowErrorValue(google.protobuf.message.Message):
643
+ """Serialized exception for error propagation"""
644
+
645
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
646
+
647
+ TYPE_FIELD_NUMBER: builtins.int
648
+ MODULE_FIELD_NUMBER: builtins.int
649
+ MESSAGE_FIELD_NUMBER: builtins.int
650
+ TRACEBACK_FIELD_NUMBER: builtins.int
651
+ VALUES_FIELD_NUMBER: builtins.int
652
+ TYPE_HIERARCHY_FIELD_NUMBER: builtins.int
653
+ type: builtins.str
654
+ module: builtins.str
655
+ message: builtins.str
656
+ traceback: builtins.str
657
+ @property
658
+ def values(self) -> Global___WorkflowDictArgument: ...
659
+ @property
660
+ def type_hierarchy(
661
+ self,
662
+ ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
663
+ """Exception class hierarchy (MRO) for proper except matching.
664
+ e.g., for KeyError: ["KeyError", "LookupError", "Exception", "BaseException"]
665
+ This allows `except LookupError:` to catch KeyError.
666
+ """
667
+
668
+ def __init__(
669
+ self,
670
+ *,
671
+ type: builtins.str = ...,
672
+ module: builtins.str = ...,
673
+ message: builtins.str = ...,
674
+ traceback: builtins.str = ...,
675
+ values: Global___WorkflowDictArgument | None = ...,
676
+ type_hierarchy: collections.abc.Iterable[builtins.str] | None = ...,
677
+ ) -> None: ...
678
+ def HasField(self, field_name: typing.Literal["values", b"values"]) -> builtins.bool: ...
679
+ def ClearField(
680
+ self,
681
+ field_name: typing.Literal[
682
+ "message",
683
+ b"message",
684
+ "module",
685
+ b"module",
686
+ "traceback",
687
+ b"traceback",
688
+ "type",
689
+ b"type",
690
+ "type_hierarchy",
691
+ b"type_hierarchy",
692
+ "values",
693
+ b"values",
694
+ ],
695
+ ) -> None: ...
696
+
697
+ Global___WorkflowErrorValue: typing_extensions.TypeAlias = WorkflowErrorValue
698
+
699
+ @typing.final
700
+ class WorkflowListArgument(google.protobuf.message.Message):
701
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
702
+
703
+ ITEMS_FIELD_NUMBER: builtins.int
704
+ @property
705
+ def items(
706
+ self,
707
+ ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
708
+ Global___WorkflowArgumentValue
709
+ ]: ...
710
+ def __init__(
711
+ self,
712
+ *,
713
+ items: collections.abc.Iterable[Global___WorkflowArgumentValue] | None = ...,
714
+ ) -> None: ...
715
+ def ClearField(self, field_name: typing.Literal["items", b"items"]) -> None: ...
716
+
717
+ Global___WorkflowListArgument: typing_extensions.TypeAlias = WorkflowListArgument
718
+
719
+ @typing.final
720
+ class WorkflowTupleArgument(google.protobuf.message.Message):
721
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
722
+
723
+ ITEMS_FIELD_NUMBER: builtins.int
724
+ @property
725
+ def items(
726
+ self,
727
+ ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
728
+ Global___WorkflowArgumentValue
729
+ ]: ...
730
+ def __init__(
731
+ self,
732
+ *,
733
+ items: collections.abc.Iterable[Global___WorkflowArgumentValue] | None = ...,
734
+ ) -> None: ...
735
+ def ClearField(self, field_name: typing.Literal["items", b"items"]) -> None: ...
736
+
737
+ Global___WorkflowTupleArgument: typing_extensions.TypeAlias = WorkflowTupleArgument
738
+
739
+ @typing.final
740
+ class WorkflowDictArgument(google.protobuf.message.Message):
741
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
742
+
743
+ ENTRIES_FIELD_NUMBER: builtins.int
744
+ @property
745
+ def entries(
746
+ self,
747
+ ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
748
+ Global___WorkflowArgument
749
+ ]: ...
750
+ def __init__(
751
+ self,
752
+ *,
753
+ entries: collections.abc.Iterable[Global___WorkflowArgument] | None = ...,
754
+ ) -> None: ...
755
+ def ClearField(self, field_name: typing.Literal["entries", b"entries"]) -> None: ...
756
+
757
+ Global___WorkflowDictArgument: typing_extensions.TypeAlias = WorkflowDictArgument
758
+
759
+ @typing.final
760
+ class WorkflowRegistration(google.protobuf.message.Message):
761
+ """=============================================================================
762
+ Workflow Registration
763
+ =============================================================================
764
+ Messages for registering workflows and starting instances.
765
+
766
+ Workflow registration containing the IR program
767
+ """
768
+
769
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
770
+
771
+ WORKFLOW_NAME_FIELD_NUMBER: builtins.int
772
+ IR_FIELD_NUMBER: builtins.int
773
+ IR_HASH_FIELD_NUMBER: builtins.int
774
+ INITIAL_CONTEXT_FIELD_NUMBER: builtins.int
775
+ CONCURRENT_FIELD_NUMBER: builtins.int
776
+ PRIORITY_FIELD_NUMBER: builtins.int
777
+ workflow_name: builtins.str
778
+ ir: builtins.bytes
779
+ """Serialized IR program (from ast.proto)"""
780
+ ir_hash: builtins.str
781
+ """Hash of the IR for versioning"""
782
+ concurrent: builtins.bool
783
+ """Whether multiple instances can run"""
784
+ priority: builtins.int
785
+ """Priority for queue ordering (higher values are processed first, default 0)"""
786
+ @property
787
+ def initial_context(self) -> Global___WorkflowArguments: ...
788
+ def __init__(
789
+ self,
790
+ *,
791
+ workflow_name: builtins.str = ...,
792
+ ir: builtins.bytes = ...,
793
+ ir_hash: builtins.str = ...,
794
+ initial_context: Global___WorkflowArguments | None = ...,
795
+ concurrent: builtins.bool = ...,
796
+ priority: builtins.int | None = ...,
797
+ ) -> None: ...
798
+ def HasField(
799
+ self,
800
+ field_name: typing.Literal[
801
+ "_priority",
802
+ b"_priority",
803
+ "initial_context",
804
+ b"initial_context",
805
+ "priority",
806
+ b"priority",
807
+ ],
808
+ ) -> builtins.bool: ...
809
+ def ClearField(
810
+ self,
811
+ field_name: typing.Literal[
812
+ "_priority",
813
+ b"_priority",
814
+ "concurrent",
815
+ b"concurrent",
816
+ "initial_context",
817
+ b"initial_context",
818
+ "ir",
819
+ b"ir",
820
+ "ir_hash",
821
+ b"ir_hash",
822
+ "priority",
823
+ b"priority",
824
+ "workflow_name",
825
+ b"workflow_name",
826
+ ],
827
+ ) -> None: ...
828
+ def WhichOneof(
829
+ self, oneof_group: typing.Literal["_priority", b"_priority"]
830
+ ) -> typing.Literal["priority"] | None: ...
831
+
832
+ Global___WorkflowRegistration: typing_extensions.TypeAlias = WorkflowRegistration
833
+
834
+ @typing.final
835
+ class RegisterWorkflowRequest(google.protobuf.message.Message):
836
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
837
+
838
+ REGISTRATION_FIELD_NUMBER: builtins.int
839
+ @property
840
+ def registration(self) -> Global___WorkflowRegistration: ...
841
+ def __init__(
842
+ self,
843
+ *,
844
+ registration: Global___WorkflowRegistration | None = ...,
845
+ ) -> None: ...
846
+ def HasField(
847
+ self, field_name: typing.Literal["registration", b"registration"]
848
+ ) -> builtins.bool: ...
849
+ def ClearField(self, field_name: typing.Literal["registration", b"registration"]) -> None: ...
850
+
851
+ Global___RegisterWorkflowRequest: typing_extensions.TypeAlias = RegisterWorkflowRequest
852
+
853
+ @typing.final
854
+ class RegisterWorkflowResponse(google.protobuf.message.Message):
855
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
856
+
857
+ WORKFLOW_VERSION_ID_FIELD_NUMBER: builtins.int
858
+ WORKFLOW_INSTANCE_ID_FIELD_NUMBER: builtins.int
859
+ workflow_version_id: builtins.str
860
+ workflow_instance_id: builtins.str
861
+ def __init__(
862
+ self,
863
+ *,
864
+ workflow_version_id: builtins.str = ...,
865
+ workflow_instance_id: builtins.str = ...,
866
+ ) -> None: ...
867
+ def ClearField(
868
+ self,
869
+ field_name: typing.Literal[
870
+ "workflow_instance_id",
871
+ b"workflow_instance_id",
872
+ "workflow_version_id",
873
+ b"workflow_version_id",
874
+ ],
875
+ ) -> None: ...
876
+
877
+ Global___RegisterWorkflowResponse: typing_extensions.TypeAlias = RegisterWorkflowResponse
878
+
879
+ @typing.final
880
+ class RegisterWorkflowBatchRequest(google.protobuf.message.Message):
881
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
882
+
883
+ REGISTRATION_FIELD_NUMBER: builtins.int
884
+ COUNT_FIELD_NUMBER: builtins.int
885
+ INPUTS_FIELD_NUMBER: builtins.int
886
+ INPUTS_LIST_FIELD_NUMBER: builtins.int
887
+ BATCH_SIZE_FIELD_NUMBER: builtins.int
888
+ INCLUDE_INSTANCE_IDS_FIELD_NUMBER: builtins.int
889
+ count: builtins.int
890
+ """Total number of instances to create when inputs_list is empty."""
891
+ batch_size: builtins.int
892
+ """Batch size for database inserts."""
893
+ include_instance_ids: builtins.bool
894
+ """Whether to return instance IDs in the response."""
895
+ @property
896
+ def registration(self) -> Global___WorkflowRegistration: ...
897
+ @property
898
+ def inputs(self) -> Global___WorkflowArguments:
899
+ """Base inputs to apply to each instance when inputs_list is empty."""
900
+
901
+ @property
902
+ def inputs_list(
903
+ self,
904
+ ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
905
+ Global___WorkflowArguments
906
+ ]:
907
+ """Per-instance inputs (overrides count/inputs when provided)."""
908
+
909
+ def __init__(
910
+ self,
911
+ *,
912
+ registration: Global___WorkflowRegistration | None = ...,
913
+ count: builtins.int = ...,
914
+ inputs: Global___WorkflowArguments | None = ...,
915
+ inputs_list: collections.abc.Iterable[Global___WorkflowArguments] | None = ...,
916
+ batch_size: builtins.int = ...,
917
+ include_instance_ids: builtins.bool = ...,
918
+ ) -> None: ...
919
+ def HasField(
920
+ self, field_name: typing.Literal["inputs", b"inputs", "registration", b"registration"]
921
+ ) -> builtins.bool: ...
922
+ def ClearField(
923
+ self,
924
+ field_name: typing.Literal[
925
+ "batch_size",
926
+ b"batch_size",
927
+ "count",
928
+ b"count",
929
+ "include_instance_ids",
930
+ b"include_instance_ids",
931
+ "inputs",
932
+ b"inputs",
933
+ "inputs_list",
934
+ b"inputs_list",
935
+ "registration",
936
+ b"registration",
937
+ ],
938
+ ) -> None: ...
939
+
940
+ Global___RegisterWorkflowBatchRequest: typing_extensions.TypeAlias = RegisterWorkflowBatchRequest
941
+
942
+ @typing.final
943
+ class RegisterWorkflowBatchResponse(google.protobuf.message.Message):
944
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
945
+
946
+ WORKFLOW_VERSION_ID_FIELD_NUMBER: builtins.int
947
+ WORKFLOW_INSTANCE_IDS_FIELD_NUMBER: builtins.int
948
+ QUEUED_FIELD_NUMBER: builtins.int
949
+ workflow_version_id: builtins.str
950
+ queued: builtins.int
951
+ @property
952
+ def workflow_instance_ids(
953
+ self,
954
+ ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
955
+ def __init__(
956
+ self,
957
+ *,
958
+ workflow_version_id: builtins.str = ...,
959
+ workflow_instance_ids: collections.abc.Iterable[builtins.str] | None = ...,
960
+ queued: builtins.int = ...,
961
+ ) -> None: ...
962
+ def ClearField(
963
+ self,
964
+ field_name: typing.Literal[
965
+ "queued",
966
+ b"queued",
967
+ "workflow_instance_ids",
968
+ b"workflow_instance_ids",
969
+ "workflow_version_id",
970
+ b"workflow_version_id",
971
+ ],
972
+ ) -> None: ...
973
+
974
+ Global___RegisterWorkflowBatchResponse: typing_extensions.TypeAlias = RegisterWorkflowBatchResponse
975
+
976
+ @typing.final
977
+ class WaitForInstanceRequest(google.protobuf.message.Message):
978
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
979
+
980
+ INSTANCE_ID_FIELD_NUMBER: builtins.int
981
+ POLL_INTERVAL_SECS_FIELD_NUMBER: builtins.int
982
+ instance_id: builtins.str
983
+ poll_interval_secs: builtins.float
984
+ def __init__(
985
+ self,
986
+ *,
987
+ instance_id: builtins.str = ...,
988
+ poll_interval_secs: builtins.float = ...,
989
+ ) -> None: ...
990
+ def ClearField(
991
+ self,
992
+ field_name: typing.Literal[
993
+ "instance_id", b"instance_id", "poll_interval_secs", b"poll_interval_secs"
994
+ ],
995
+ ) -> None: ...
996
+
997
+ Global___WaitForInstanceRequest: typing_extensions.TypeAlias = WaitForInstanceRequest
998
+
999
+ @typing.final
1000
+ class WaitForInstanceResponse(google.protobuf.message.Message):
1001
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1002
+
1003
+ PAYLOAD_FIELD_NUMBER: builtins.int
1004
+ payload: builtins.bytes
1005
+ def __init__(
1006
+ self,
1007
+ *,
1008
+ payload: builtins.bytes = ...,
1009
+ ) -> None: ...
1010
+ def ClearField(self, field_name: typing.Literal["payload", b"payload"]) -> None: ...
1011
+
1012
+ Global___WaitForInstanceResponse: typing_extensions.TypeAlias = WaitForInstanceResponse
1013
+
1014
+ @typing.final
1015
+ class WorkflowStreamRequest(google.protobuf.message.Message):
1016
+ """=============================================================================
1017
+ In-memory workflow execution (local broker)
1018
+ =============================================================================
1019
+
1020
+ Client -> server messages for workflow execution streaming.
1021
+ """
1022
+
1023
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1024
+
1025
+ REGISTRATION_FIELD_NUMBER: builtins.int
1026
+ ACTION_RESULT_FIELD_NUMBER: builtins.int
1027
+ SKIP_SLEEP_FIELD_NUMBER: builtins.int
1028
+ skip_sleep: builtins.bool
1029
+ """Skip sleep/backoff delays in in-memory execution (e.g., pytest)."""
1030
+ @property
1031
+ def registration(self) -> Global___WorkflowRegistration: ...
1032
+ @property
1033
+ def action_result(self) -> Global___ActionResult: ...
1034
+ def __init__(
1035
+ self,
1036
+ *,
1037
+ registration: Global___WorkflowRegistration | None = ...,
1038
+ action_result: Global___ActionResult | None = ...,
1039
+ skip_sleep: builtins.bool = ...,
1040
+ ) -> None: ...
1041
+ def HasField(
1042
+ self,
1043
+ field_name: typing.Literal[
1044
+ "action_result", b"action_result", "kind", b"kind", "registration", b"registration"
1045
+ ],
1046
+ ) -> builtins.bool: ...
1047
+ def ClearField(
1048
+ self,
1049
+ field_name: typing.Literal[
1050
+ "action_result",
1051
+ b"action_result",
1052
+ "kind",
1053
+ b"kind",
1054
+ "registration",
1055
+ b"registration",
1056
+ "skip_sleep",
1057
+ b"skip_sleep",
1058
+ ],
1059
+ ) -> None: ...
1060
+ def WhichOneof(
1061
+ self, oneof_group: typing.Literal["kind", b"kind"]
1062
+ ) -> typing.Literal["registration", "action_result"] | None: ...
1063
+
1064
+ Global___WorkflowStreamRequest: typing_extensions.TypeAlias = WorkflowStreamRequest
1065
+
1066
+ @typing.final
1067
+ class WorkflowExecutionResult(google.protobuf.message.Message):
1068
+ """Server -> client final workflow result payload."""
1069
+
1070
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1071
+
1072
+ PAYLOAD_FIELD_NUMBER: builtins.int
1073
+ payload: builtins.bytes
1074
+ def __init__(
1075
+ self,
1076
+ *,
1077
+ payload: builtins.bytes = ...,
1078
+ ) -> None: ...
1079
+ def ClearField(self, field_name: typing.Literal["payload", b"payload"]) -> None: ...
1080
+
1081
+ Global___WorkflowExecutionResult: typing_extensions.TypeAlias = WorkflowExecutionResult
1082
+
1083
+ @typing.final
1084
+ class WorkflowStreamResponse(google.protobuf.message.Message):
1085
+ """Server -> client messages for workflow execution streaming."""
1086
+
1087
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1088
+
1089
+ ACTION_DISPATCH_FIELD_NUMBER: builtins.int
1090
+ WORKFLOW_RESULT_FIELD_NUMBER: builtins.int
1091
+ @property
1092
+ def action_dispatch(self) -> Global___ActionDispatch: ...
1093
+ @property
1094
+ def workflow_result(self) -> Global___WorkflowExecutionResult: ...
1095
+ def __init__(
1096
+ self,
1097
+ *,
1098
+ action_dispatch: Global___ActionDispatch | None = ...,
1099
+ workflow_result: Global___WorkflowExecutionResult | None = ...,
1100
+ ) -> None: ...
1101
+ def HasField(
1102
+ self,
1103
+ field_name: typing.Literal[
1104
+ "action_dispatch",
1105
+ b"action_dispatch",
1106
+ "kind",
1107
+ b"kind",
1108
+ "workflow_result",
1109
+ b"workflow_result",
1110
+ ],
1111
+ ) -> builtins.bool: ...
1112
+ def ClearField(
1113
+ self,
1114
+ field_name: typing.Literal[
1115
+ "action_dispatch",
1116
+ b"action_dispatch",
1117
+ "kind",
1118
+ b"kind",
1119
+ "workflow_result",
1120
+ b"workflow_result",
1121
+ ],
1122
+ ) -> None: ...
1123
+ def WhichOneof(
1124
+ self, oneof_group: typing.Literal["kind", b"kind"]
1125
+ ) -> typing.Literal["action_dispatch", "workflow_result"] | None: ...
1126
+
1127
+ Global___WorkflowStreamResponse: typing_extensions.TypeAlias = WorkflowStreamResponse
1128
+
1129
+ @typing.final
1130
+ class ScheduleDefinition(google.protobuf.message.Message):
1131
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1132
+
1133
+ TYPE_FIELD_NUMBER: builtins.int
1134
+ CRON_EXPRESSION_FIELD_NUMBER: builtins.int
1135
+ INTERVAL_SECONDS_FIELD_NUMBER: builtins.int
1136
+ JITTER_SECONDS_FIELD_NUMBER: builtins.int
1137
+ type: Global___ScheduleType.ValueType
1138
+ cron_expression: builtins.str
1139
+ """For cron: the cron expression (e.g., "0 * * * *")"""
1140
+ interval_seconds: builtins.int
1141
+ """For interval: duration in seconds"""
1142
+ jitter_seconds: builtins.int
1143
+ """Optional: jitter window in seconds (random 0..jitter_seconds)"""
1144
+ def __init__(
1145
+ self,
1146
+ *,
1147
+ type: Global___ScheduleType.ValueType = ...,
1148
+ cron_expression: builtins.str = ...,
1149
+ interval_seconds: builtins.int = ...,
1150
+ jitter_seconds: builtins.int = ...,
1151
+ ) -> None: ...
1152
+ def ClearField(
1153
+ self,
1154
+ field_name: typing.Literal[
1155
+ "cron_expression",
1156
+ b"cron_expression",
1157
+ "interval_seconds",
1158
+ b"interval_seconds",
1159
+ "jitter_seconds",
1160
+ b"jitter_seconds",
1161
+ "type",
1162
+ b"type",
1163
+ ],
1164
+ ) -> None: ...
1165
+
1166
+ Global___ScheduleDefinition: typing_extensions.TypeAlias = ScheduleDefinition
1167
+
1168
+ @typing.final
1169
+ class RegisterScheduleRequest(google.protobuf.message.Message):
1170
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1171
+
1172
+ WORKFLOW_NAME_FIELD_NUMBER: builtins.int
1173
+ SCHEDULE_FIELD_NUMBER: builtins.int
1174
+ INPUTS_FIELD_NUMBER: builtins.int
1175
+ REGISTRATION_FIELD_NUMBER: builtins.int
1176
+ SCHEDULE_NAME_FIELD_NUMBER: builtins.int
1177
+ PRIORITY_FIELD_NUMBER: builtins.int
1178
+ workflow_name: builtins.str
1179
+ schedule_name: builtins.str
1180
+ """Required: unique name for this schedule. Allows multiple schedules per workflow
1181
+ with different inputs. Must be unique within a workflow.
1182
+ """
1183
+ priority: builtins.int
1184
+ """Priority for queue ordering (higher values are processed first, default 0)"""
1185
+ @property
1186
+ def schedule(self) -> Global___ScheduleDefinition: ...
1187
+ @property
1188
+ def inputs(self) -> Global___WorkflowArguments:
1189
+ """Optional: inputs to pass to each scheduled run"""
1190
+
1191
+ @property
1192
+ def registration(self) -> Global___WorkflowRegistration:
1193
+ """Optional: workflow registration to register the DAG before scheduling.
1194
+ If provided, the workflow version will be registered (or updated) before
1195
+ the schedule is created. This ensures the workflow can execute when the
1196
+ schedule fires.
1197
+ """
1198
+
1199
+ def __init__(
1200
+ self,
1201
+ *,
1202
+ workflow_name: builtins.str = ...,
1203
+ schedule: Global___ScheduleDefinition | None = ...,
1204
+ inputs: Global___WorkflowArguments | None = ...,
1205
+ registration: Global___WorkflowRegistration | None = ...,
1206
+ schedule_name: builtins.str = ...,
1207
+ priority: builtins.int | None = ...,
1208
+ ) -> None: ...
1209
+ def HasField(
1210
+ self,
1211
+ field_name: typing.Literal[
1212
+ "_priority",
1213
+ b"_priority",
1214
+ "inputs",
1215
+ b"inputs",
1216
+ "priority",
1217
+ b"priority",
1218
+ "registration",
1219
+ b"registration",
1220
+ "schedule",
1221
+ b"schedule",
1222
+ ],
1223
+ ) -> builtins.bool: ...
1224
+ def ClearField(
1225
+ self,
1226
+ field_name: typing.Literal[
1227
+ "_priority",
1228
+ b"_priority",
1229
+ "inputs",
1230
+ b"inputs",
1231
+ "priority",
1232
+ b"priority",
1233
+ "registration",
1234
+ b"registration",
1235
+ "schedule",
1236
+ b"schedule",
1237
+ "schedule_name",
1238
+ b"schedule_name",
1239
+ "workflow_name",
1240
+ b"workflow_name",
1241
+ ],
1242
+ ) -> None: ...
1243
+ def WhichOneof(
1244
+ self, oneof_group: typing.Literal["_priority", b"_priority"]
1245
+ ) -> typing.Literal["priority"] | None: ...
1246
+
1247
+ Global___RegisterScheduleRequest: typing_extensions.TypeAlias = RegisterScheduleRequest
1248
+
1249
+ @typing.final
1250
+ class RegisterScheduleResponse(google.protobuf.message.Message):
1251
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1252
+
1253
+ SCHEDULE_ID_FIELD_NUMBER: builtins.int
1254
+ NEXT_RUN_AT_FIELD_NUMBER: builtins.int
1255
+ schedule_id: builtins.str
1256
+ next_run_at: builtins.str
1257
+ """The computed next_run_at timestamp (ISO 8601)"""
1258
+ def __init__(
1259
+ self,
1260
+ *,
1261
+ schedule_id: builtins.str = ...,
1262
+ next_run_at: builtins.str = ...,
1263
+ ) -> None: ...
1264
+ def ClearField(
1265
+ self,
1266
+ field_name: typing.Literal["next_run_at", b"next_run_at", "schedule_id", b"schedule_id"],
1267
+ ) -> None: ...
1268
+
1269
+ Global___RegisterScheduleResponse: typing_extensions.TypeAlias = RegisterScheduleResponse
1270
+
1271
+ @typing.final
1272
+ class UpdateScheduleStatusRequest(google.protobuf.message.Message):
1273
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1274
+
1275
+ WORKFLOW_NAME_FIELD_NUMBER: builtins.int
1276
+ STATUS_FIELD_NUMBER: builtins.int
1277
+ SCHEDULE_NAME_FIELD_NUMBER: builtins.int
1278
+ workflow_name: builtins.str
1279
+ status: Global___ScheduleStatus.ValueType
1280
+ schedule_name: builtins.str
1281
+ """Required: name of the schedule to update."""
1282
+ def __init__(
1283
+ self,
1284
+ *,
1285
+ workflow_name: builtins.str = ...,
1286
+ status: Global___ScheduleStatus.ValueType = ...,
1287
+ schedule_name: builtins.str = ...,
1288
+ ) -> None: ...
1289
+ def ClearField(
1290
+ self,
1291
+ field_name: typing.Literal[
1292
+ "schedule_name",
1293
+ b"schedule_name",
1294
+ "status",
1295
+ b"status",
1296
+ "workflow_name",
1297
+ b"workflow_name",
1298
+ ],
1299
+ ) -> None: ...
1300
+
1301
+ Global___UpdateScheduleStatusRequest: typing_extensions.TypeAlias = UpdateScheduleStatusRequest
1302
+
1303
+ @typing.final
1304
+ class UpdateScheduleStatusResponse(google.protobuf.message.Message):
1305
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1306
+
1307
+ SUCCESS_FIELD_NUMBER: builtins.int
1308
+ success: builtins.bool
1309
+ def __init__(
1310
+ self,
1311
+ *,
1312
+ success: builtins.bool = ...,
1313
+ ) -> None: ...
1314
+ def ClearField(self, field_name: typing.Literal["success", b"success"]) -> None: ...
1315
+
1316
+ Global___UpdateScheduleStatusResponse: typing_extensions.TypeAlias = UpdateScheduleStatusResponse
1317
+
1318
+ @typing.final
1319
+ class DeleteScheduleRequest(google.protobuf.message.Message):
1320
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1321
+
1322
+ WORKFLOW_NAME_FIELD_NUMBER: builtins.int
1323
+ SCHEDULE_NAME_FIELD_NUMBER: builtins.int
1324
+ workflow_name: builtins.str
1325
+ schedule_name: builtins.str
1326
+ """Required: name of the schedule to delete."""
1327
+ def __init__(
1328
+ self,
1329
+ *,
1330
+ workflow_name: builtins.str = ...,
1331
+ schedule_name: builtins.str = ...,
1332
+ ) -> None: ...
1333
+ def ClearField(
1334
+ self,
1335
+ field_name: typing.Literal[
1336
+ "schedule_name", b"schedule_name", "workflow_name", b"workflow_name"
1337
+ ],
1338
+ ) -> None: ...
1339
+
1340
+ Global___DeleteScheduleRequest: typing_extensions.TypeAlias = DeleteScheduleRequest
1341
+
1342
+ @typing.final
1343
+ class DeleteScheduleResponse(google.protobuf.message.Message):
1344
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1345
+
1346
+ SUCCESS_FIELD_NUMBER: builtins.int
1347
+ success: builtins.bool
1348
+ def __init__(
1349
+ self,
1350
+ *,
1351
+ success: builtins.bool = ...,
1352
+ ) -> None: ...
1353
+ def ClearField(self, field_name: typing.Literal["success", b"success"]) -> None: ...
1354
+
1355
+ Global___DeleteScheduleResponse: typing_extensions.TypeAlias = DeleteScheduleResponse
1356
+
1357
+ @typing.final
1358
+ class ListSchedulesRequest(google.protobuf.message.Message):
1359
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1360
+
1361
+ STATUS_FILTER_FIELD_NUMBER: builtins.int
1362
+ status_filter: builtins.str
1363
+ """Optional filter by status ("active", "paused"). If empty, returns all non-deleted."""
1364
+ def __init__(
1365
+ self,
1366
+ *,
1367
+ status_filter: builtins.str | None = ...,
1368
+ ) -> None: ...
1369
+ def HasField(
1370
+ self,
1371
+ field_name: typing.Literal[
1372
+ "_status_filter", b"_status_filter", "status_filter", b"status_filter"
1373
+ ],
1374
+ ) -> builtins.bool: ...
1375
+ def ClearField(
1376
+ self,
1377
+ field_name: typing.Literal[
1378
+ "_status_filter", b"_status_filter", "status_filter", b"status_filter"
1379
+ ],
1380
+ ) -> None: ...
1381
+ def WhichOneof(
1382
+ self, oneof_group: typing.Literal["_status_filter", b"_status_filter"]
1383
+ ) -> typing.Literal["status_filter"] | None: ...
1384
+
1385
+ Global___ListSchedulesRequest: typing_extensions.TypeAlias = ListSchedulesRequest
1386
+
1387
+ @typing.final
1388
+ class ScheduleInfo(google.protobuf.message.Message):
1389
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1390
+
1391
+ ID_FIELD_NUMBER: builtins.int
1392
+ WORKFLOW_NAME_FIELD_NUMBER: builtins.int
1393
+ SCHEDULE_TYPE_FIELD_NUMBER: builtins.int
1394
+ CRON_EXPRESSION_FIELD_NUMBER: builtins.int
1395
+ INTERVAL_SECONDS_FIELD_NUMBER: builtins.int
1396
+ STATUS_FIELD_NUMBER: builtins.int
1397
+ NEXT_RUN_AT_FIELD_NUMBER: builtins.int
1398
+ LAST_RUN_AT_FIELD_NUMBER: builtins.int
1399
+ LAST_INSTANCE_ID_FIELD_NUMBER: builtins.int
1400
+ CREATED_AT_FIELD_NUMBER: builtins.int
1401
+ UPDATED_AT_FIELD_NUMBER: builtins.int
1402
+ SCHEDULE_NAME_FIELD_NUMBER: builtins.int
1403
+ JITTER_SECONDS_FIELD_NUMBER: builtins.int
1404
+ id: builtins.str
1405
+ workflow_name: builtins.str
1406
+ schedule_type: Global___ScheduleType.ValueType
1407
+ cron_expression: builtins.str
1408
+ """Empty if interval-based"""
1409
+ interval_seconds: builtins.int
1410
+ """0 if cron-based"""
1411
+ status: Global___ScheduleStatus.ValueType
1412
+ next_run_at: builtins.str
1413
+ """ISO 8601 timestamp"""
1414
+ last_run_at: builtins.str
1415
+ """ISO 8601 timestamp, empty if never run"""
1416
+ last_instance_id: builtins.str
1417
+ """Empty if never run"""
1418
+ created_at: builtins.str
1419
+ """ISO 8601 timestamp"""
1420
+ updated_at: builtins.str
1421
+ """ISO 8601 timestamp"""
1422
+ schedule_name: builtins.str
1423
+ """Name of this schedule (allows multiple per workflow)"""
1424
+ jitter_seconds: builtins.int
1425
+ """0 if no jitter configured"""
1426
+ def __init__(
1427
+ self,
1428
+ *,
1429
+ id: builtins.str = ...,
1430
+ workflow_name: builtins.str = ...,
1431
+ schedule_type: Global___ScheduleType.ValueType = ...,
1432
+ cron_expression: builtins.str = ...,
1433
+ interval_seconds: builtins.int = ...,
1434
+ status: Global___ScheduleStatus.ValueType = ...,
1435
+ next_run_at: builtins.str = ...,
1436
+ last_run_at: builtins.str = ...,
1437
+ last_instance_id: builtins.str = ...,
1438
+ created_at: builtins.str = ...,
1439
+ updated_at: builtins.str = ...,
1440
+ schedule_name: builtins.str = ...,
1441
+ jitter_seconds: builtins.int = ...,
1442
+ ) -> None: ...
1443
+ def ClearField(
1444
+ self,
1445
+ field_name: typing.Literal[
1446
+ "created_at",
1447
+ b"created_at",
1448
+ "cron_expression",
1449
+ b"cron_expression",
1450
+ "id",
1451
+ b"id",
1452
+ "interval_seconds",
1453
+ b"interval_seconds",
1454
+ "jitter_seconds",
1455
+ b"jitter_seconds",
1456
+ "last_instance_id",
1457
+ b"last_instance_id",
1458
+ "last_run_at",
1459
+ b"last_run_at",
1460
+ "next_run_at",
1461
+ b"next_run_at",
1462
+ "schedule_name",
1463
+ b"schedule_name",
1464
+ "schedule_type",
1465
+ b"schedule_type",
1466
+ "status",
1467
+ b"status",
1468
+ "updated_at",
1469
+ b"updated_at",
1470
+ "workflow_name",
1471
+ b"workflow_name",
1472
+ ],
1473
+ ) -> None: ...
1474
+
1475
+ Global___ScheduleInfo: typing_extensions.TypeAlias = ScheduleInfo
1476
+
1477
+ @typing.final
1478
+ class ListSchedulesResponse(google.protobuf.message.Message):
1479
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
1480
+
1481
+ SCHEDULES_FIELD_NUMBER: builtins.int
1482
+ @property
1483
+ def schedules(
1484
+ self,
1485
+ ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
1486
+ Global___ScheduleInfo
1487
+ ]: ...
1488
+ def __init__(
1489
+ self,
1490
+ *,
1491
+ schedules: collections.abc.Iterable[Global___ScheduleInfo] | None = ...,
1492
+ ) -> None: ...
1493
+ def ClearField(self, field_name: typing.Literal["schedules", b"schedules"]) -> None: ...
1494
+
1495
+ Global___ListSchedulesResponse: typing_extensions.TypeAlias = ListSchedulesResponse