temporalio 1.6.0 → 1.7.0

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 (99) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +37 -67
  3. data/Gemfile +3 -0
  4. data/README.md +17 -2
  5. data/Rakefile +1 -1
  6. data/ext/Cargo.toml +3 -3
  7. data/lib/temporalio/api/activity/v1/message.rb +1 -1
  8. data/lib/temporalio/api/batch/v1/message.rb +4 -1
  9. data/lib/temporalio/api/command/v1/message.rb +2 -1
  10. data/lib/temporalio/api/common/v1/message.rb +5 -1
  11. data/lib/temporalio/api/enums/v1/activity.rb +1 -1
  12. data/lib/temporalio/api/enums/v1/batch_operation.rb +1 -1
  13. data/lib/temporalio/api/enums/v1/common.rb +2 -1
  14. data/lib/temporalio/api/enums/v1/failed_cause.rb +1 -1
  15. data/lib/temporalio/api/enums/v1/time_skipping.rb +21 -0
  16. data/lib/temporalio/api/errordetails/v1/message.rb +2 -1
  17. data/lib/temporalio/api/history/v1/message.rb +1 -1
  18. data/lib/temporalio/api/namespace/v1/message.rb +1 -1
  19. data/lib/temporalio/api/taskqueue/v1/message.rb +2 -1
  20. data/lib/temporalio/api/worker/v1/message.rb +13 -1
  21. data/lib/temporalio/api/workflow/v1/message.rb +1 -1
  22. data/lib/temporalio/api/workflowservice/v1/request_response.rb +4 -1
  23. data/lib/temporalio/api/workflowservice/v1/service.rb +1 -1
  24. data/lib/temporalio/client/connection/workflow_service.rb +15 -0
  25. data/lib/temporalio/client/connection.rb +33 -3
  26. data/lib/temporalio/client/schedule.rb +4 -5
  27. data/lib/temporalio/client/workflow_execution.rb +2 -2
  28. data/lib/temporalio/client/workflow_handle.rb +2 -1
  29. data/lib/temporalio/client.rb +4 -6
  30. data/lib/temporalio/converters/data_converter.rb +1 -0
  31. data/lib/temporalio/converters/failure_converter.rb +7 -4
  32. data/lib/temporalio/internal/bridge/api/common/common.rb +2 -1
  33. data/lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb +1 -1
  34. data/lib/temporalio/internal/bridge/client.rb +3 -1
  35. data/lib/temporalio/internal/bridge/runtime.rb +4 -1
  36. data/lib/temporalio/internal/bridge/worker.rb +3 -1
  37. data/lib/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rb +9 -0
  38. data/lib/temporalio/runtime.rb +25 -7
  39. data/lib/temporalio/scoped_logger.rb +15 -0
  40. data/lib/temporalio/version.rb +1 -1
  41. data/lib/temporalio/worker/workflow_replayer.rb +2 -0
  42. data/lib/temporalio/worker.rb +24 -4
  43. data/lib/temporalio/workflow.rb +8 -9
  44. data/rbi/temporalio/api/activity/v1/message.rbi +100 -14
  45. data/rbi/temporalio/api/batch/v1/message.rbi +229 -2
  46. data/rbi/temporalio/api/command/v1/message.rbi +22 -2
  47. data/rbi/temporalio/api/common/v1/message.rbi +548 -74
  48. data/rbi/temporalio/api/enums/v1/activity.rbi +1 -0
  49. data/rbi/temporalio/api/enums/v1/batch_operation.rbi +9 -0
  50. data/rbi/temporalio/api/enums/v1/common.rbi +18 -0
  51. data/rbi/temporalio/api/enums/v1/failed_cause.rbi +4 -0
  52. data/rbi/temporalio/api/enums/v1/time_skipping.rbi +22 -0
  53. data/rbi/temporalio/api/errordetails/v1/message.rbi +59 -2
  54. data/rbi/temporalio/api/history/v1/message.rbi +27 -7
  55. data/rbi/temporalio/api/namespace/v1/message.rbi +95 -4
  56. data/rbi/temporalio/api/taskqueue/v1/message.rbi +113 -2
  57. data/rbi/temporalio/api/worker/v1/message.rbi +742 -2
  58. data/rbi/temporalio/api/workflow/v1/message.rbi +22 -2
  59. data/rbi/temporalio/api/workflowservice/v1/request_response.rbi +701 -117
  60. data/rbi/temporalio/api/workflowservice/v1/service_services.rbi +8 -0
  61. data/rbi/temporalio/client/connection/workflow_service.rbi +3 -0
  62. data/rbi/temporalio/client/connection.rbi +2 -0
  63. data/rbi/temporalio/converters/failure_converter.rbi +7 -2
  64. data/rbi/temporalio/internal/bridge/api/common/common.rbi +115 -0
  65. data/rbi/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rbi +42 -2
  66. data/rbi/temporalio/internal/bridge/runtime.rbi +24 -4
  67. data/rbi/temporalio/internal/bridge/worker.rbi +2 -0
  68. data/rbi/temporalio/runtime.rbi +13 -4
  69. data/rbi/temporalio/scoped_logger.rbi +1 -1
  70. data/rbi/temporalio/worker.rbi +9 -2
  71. data/rbi/temporalio/workflow/future.rbi +1 -1
  72. data/sig/temporalio/api/activity/v1/message.rbs +48 -2
  73. data/sig/temporalio/api/batch/v1/message.rbs +86 -0
  74. data/sig/temporalio/api/command/v1/message.rbs +10 -0
  75. data/sig/temporalio/api/common/v1/message.rbs +240 -39
  76. data/sig/temporalio/api/enums/v1/activity.rbs +9 -5
  77. data/sig/temporalio/api/enums/v1/batch_operation.rbs +33 -3
  78. data/sig/temporalio/api/enums/v1/common.rbs +23 -0
  79. data/sig/temporalio/api/enums/v1/failed_cause.rbs +18 -6
  80. data/sig/temporalio/api/enums/v1/time_skipping.rbs +58 -0
  81. data/sig/temporalio/api/errordetails/v1/message.rbs +19 -0
  82. data/sig/temporalio/api/history/v1/message.rbs +13 -3
  83. data/sig/temporalio/api/namespace/v1/message.rbs +43 -0
  84. data/sig/temporalio/api/taskqueue/v1/message.rbs +44 -0
  85. data/sig/temporalio/api/worker/v1/message.rbs +410 -0
  86. data/sig/temporalio/api/workflow/v1/message.rbs +10 -0
  87. data/sig/temporalio/api/workflowservice/v1/request_response.rbs +311 -40
  88. data/sig/temporalio/client/connection/workflow_service.rbs +4 -0
  89. data/sig/temporalio/client/connection.rbs +14 -1
  90. data/sig/temporalio/converters/failure_converter.rbs +4 -1
  91. data/sig/temporalio/internal/bridge/api/common/common.rbs +50 -0
  92. data/sig/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rbs +20 -0
  93. data/sig/temporalio/internal/bridge/client.rbs +5 -1
  94. data/sig/temporalio/internal/bridge/runtime.rbs +9 -3
  95. data/sig/temporalio/internal/bridge/worker.rbs +5 -1
  96. data/sig/temporalio/runtime.rbs +14 -3
  97. data/sig/temporalio/scoped_logger.rbs +1 -1
  98. data/sig/temporalio/worker.rbs +8 -2
  99. metadata +4 -1
@@ -11,14 +11,16 @@ class Temporalio::Api::Batch::V1::BatchOperationInfo
11
11
  job_id: T.nilable(String),
12
12
  state: T.nilable(T.any(Symbol, String, Integer)),
13
13
  start_time: T.nilable(Google::Protobuf::Timestamp),
14
- close_time: T.nilable(Google::Protobuf::Timestamp)
14
+ close_time: T.nilable(Google::Protobuf::Timestamp),
15
+ operation_type: T.nilable(T.any(Symbol, String, Integer))
15
16
  ).void
16
17
  end
17
18
  def initialize(
18
19
  job_id: "",
19
20
  state: :BATCH_OPERATION_STATE_UNSPECIFIED,
20
21
  start_time: nil,
21
- close_time: nil
22
+ close_time: nil,
23
+ operation_type: :BATCH_OPERATION_TYPE_UNSPECIFIED
22
24
  )
23
25
  end
24
26
 
@@ -82,6 +84,21 @@ class Temporalio::Api::Batch::V1::BatchOperationInfo
82
84
  def clear_close_time
83
85
  end
84
86
 
87
+ # Operation type
88
+ sig { returns(T.any(Symbol, Integer)) }
89
+ def operation_type
90
+ end
91
+
92
+ # Operation type
93
+ sig { params(value: T.any(Symbol, String, Integer)).void }
94
+ def operation_type=(value)
95
+ end
96
+
97
+ # Operation type
98
+ sig { void }
99
+ def clear_operation_type
100
+ end
101
+
85
102
  sig { params(field: String).returns(T.untyped) }
86
103
  def [](field)
87
104
  end
@@ -197,6 +214,90 @@ class Temporalio::Api::Batch::V1::BatchOperationTermination
197
214
  end
198
215
  end
199
216
 
217
+ # BatchOperationTerminateActivities sends terminate requests to a batch of activities.
218
+ # Keep the parameter in sync with temporal.api.workflowservice.v1.TerminateActivityExecutionRequest.
219
+ class Temporalio::Api::Batch::V1::BatchOperationTerminateActivities
220
+ include ::Google::Protobuf::MessageExts
221
+ extend ::Google::Protobuf::MessageExts::ClassMethods
222
+
223
+ sig do
224
+ params(
225
+ identity: T.nilable(String),
226
+ reason: T.nilable(String)
227
+ ).void
228
+ end
229
+ def initialize(
230
+ identity: "",
231
+ reason: ""
232
+ )
233
+ end
234
+
235
+ # The identity of the worker/client
236
+ sig { returns(String) }
237
+ def identity
238
+ end
239
+
240
+ # The identity of the worker/client
241
+ sig { params(value: String).void }
242
+ def identity=(value)
243
+ end
244
+
245
+ # The identity of the worker/client
246
+ sig { void }
247
+ def clear_identity
248
+ end
249
+
250
+ # Reason for requesting the termination, recorded and available via the PollActivityExecution API.
251
+ # Not propagated to a worker if an activity attempt is currently running.
252
+ sig { returns(String) }
253
+ def reason
254
+ end
255
+
256
+ # Reason for requesting the termination, recorded and available via the PollActivityExecution API.
257
+ # Not propagated to a worker if an activity attempt is currently running.
258
+ sig { params(value: String).void }
259
+ def reason=(value)
260
+ end
261
+
262
+ # Reason for requesting the termination, recorded and available via the PollActivityExecution API.
263
+ # Not propagated to a worker if an activity attempt is currently running.
264
+ sig { void }
265
+ def clear_reason
266
+ end
267
+
268
+ sig { params(field: String).returns(T.untyped) }
269
+ def [](field)
270
+ end
271
+
272
+ sig { params(field: String, value: T.untyped).void }
273
+ def []=(field, value)
274
+ end
275
+
276
+ sig { returns(T::Hash[Symbol, T.untyped]) }
277
+ def to_h
278
+ end
279
+
280
+ sig { params(str: String).returns(Temporalio::Api::Batch::V1::BatchOperationTerminateActivities) }
281
+ def self.decode(str)
282
+ end
283
+
284
+ sig { params(msg: Temporalio::Api::Batch::V1::BatchOperationTerminateActivities).returns(String) }
285
+ def self.encode(msg)
286
+ end
287
+
288
+ sig { params(str: String, kw: T.untyped).returns(Temporalio::Api::Batch::V1::BatchOperationTerminateActivities) }
289
+ def self.decode_json(str, **kw)
290
+ end
291
+
292
+ sig { params(msg: Temporalio::Api::Batch::V1::BatchOperationTerminateActivities, kw: T.untyped).returns(String) }
293
+ def self.encode_json(msg, **kw)
294
+ end
295
+
296
+ sig { returns(::Google::Protobuf::Descriptor) }
297
+ def self.descriptor
298
+ end
299
+ end
300
+
200
301
  # BatchOperationSignal sends signals to batch workflows.
201
302
  # Keep the parameter in sync with temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest.
202
303
  class Temporalio::Api::Batch::V1::BatchOperationSignal
@@ -380,6 +481,90 @@ class Temporalio::Api::Batch::V1::BatchOperationCancellation
380
481
  end
381
482
  end
382
483
 
484
+ # BatchOperationCancelActivities sends cancel requests to a batch of activities.
485
+ # Keep the parameter in sync with temporal.api.workflowservice.v1.RequestCancelActivityExecutionRequest.
486
+ class Temporalio::Api::Batch::V1::BatchOperationCancelActivities
487
+ include ::Google::Protobuf::MessageExts
488
+ extend ::Google::Protobuf::MessageExts::ClassMethods
489
+
490
+ sig do
491
+ params(
492
+ identity: T.nilable(String),
493
+ reason: T.nilable(String)
494
+ ).void
495
+ end
496
+ def initialize(
497
+ identity: "",
498
+ reason: ""
499
+ )
500
+ end
501
+
502
+ # The identity of the worker/client
503
+ sig { returns(String) }
504
+ def identity
505
+ end
506
+
507
+ # The identity of the worker/client
508
+ sig { params(value: String).void }
509
+ def identity=(value)
510
+ end
511
+
512
+ # The identity of the worker/client
513
+ sig { void }
514
+ def clear_identity
515
+ end
516
+
517
+ # Reason for requesting the cancellation, recorded and available via the PollActivityExecution API.
518
+ # Not propagated to a worker if an activity attempt is currently running.
519
+ sig { returns(String) }
520
+ def reason
521
+ end
522
+
523
+ # Reason for requesting the cancellation, recorded and available via the PollActivityExecution API.
524
+ # Not propagated to a worker if an activity attempt is currently running.
525
+ sig { params(value: String).void }
526
+ def reason=(value)
527
+ end
528
+
529
+ # Reason for requesting the cancellation, recorded and available via the PollActivityExecution API.
530
+ # Not propagated to a worker if an activity attempt is currently running.
531
+ sig { void }
532
+ def clear_reason
533
+ end
534
+
535
+ sig { params(field: String).returns(T.untyped) }
536
+ def [](field)
537
+ end
538
+
539
+ sig { params(field: String, value: T.untyped).void }
540
+ def []=(field, value)
541
+ end
542
+
543
+ sig { returns(T::Hash[Symbol, T.untyped]) }
544
+ def to_h
545
+ end
546
+
547
+ sig { params(str: String).returns(Temporalio::Api::Batch::V1::BatchOperationCancelActivities) }
548
+ def self.decode(str)
549
+ end
550
+
551
+ sig { params(msg: Temporalio::Api::Batch::V1::BatchOperationCancelActivities).returns(String) }
552
+ def self.encode(msg)
553
+ end
554
+
555
+ sig { params(str: String, kw: T.untyped).returns(Temporalio::Api::Batch::V1::BatchOperationCancelActivities) }
556
+ def self.decode_json(str, **kw)
557
+ end
558
+
559
+ sig { params(msg: Temporalio::Api::Batch::V1::BatchOperationCancelActivities, kw: T.untyped).returns(String) }
560
+ def self.encode_json(msg, **kw)
561
+ end
562
+
563
+ sig { returns(::Google::Protobuf::Descriptor) }
564
+ def self.descriptor
565
+ end
566
+ end
567
+
383
568
  # BatchOperationDeletion sends deletion requests to batch workflows.
384
569
  # Keep the parameter in sync with temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest.
385
570
  class Temporalio::Api::Batch::V1::BatchOperationDeletion
@@ -444,6 +629,48 @@ class Temporalio::Api::Batch::V1::BatchOperationDeletion
444
629
  end
445
630
  end
446
631
 
632
+ # BatchOperationDeleteActivities sends deletion requests to a batch of activities.
633
+ # Keep the parameter in sync with temporal.api.workflowservice.v1.DeleteActivityExecutionRequest.
634
+ class Temporalio::Api::Batch::V1::BatchOperationDeleteActivities
635
+ include ::Google::Protobuf::MessageExts
636
+ extend ::Google::Protobuf::MessageExts::ClassMethods
637
+
638
+ sig {void}
639
+ def initialize; end
640
+
641
+ sig { params(field: String).returns(T.untyped) }
642
+ def [](field)
643
+ end
644
+
645
+ sig { params(field: String, value: T.untyped).void }
646
+ def []=(field, value)
647
+ end
648
+
649
+ sig { returns(T::Hash[Symbol, T.untyped]) }
650
+ def to_h
651
+ end
652
+
653
+ sig { params(str: String).returns(Temporalio::Api::Batch::V1::BatchOperationDeleteActivities) }
654
+ def self.decode(str)
655
+ end
656
+
657
+ sig { params(msg: Temporalio::Api::Batch::V1::BatchOperationDeleteActivities).returns(String) }
658
+ def self.encode(msg)
659
+ end
660
+
661
+ sig { params(str: String, kw: T.untyped).returns(Temporalio::Api::Batch::V1::BatchOperationDeleteActivities) }
662
+ def self.decode_json(str, **kw)
663
+ end
664
+
665
+ sig { params(msg: Temporalio::Api::Batch::V1::BatchOperationDeleteActivities, kw: T.untyped).returns(String) }
666
+ def self.encode_json(msg, **kw)
667
+ end
668
+
669
+ sig { returns(::Google::Protobuf::Descriptor) }
670
+ def self.descriptor
671
+ end
672
+ end
673
+
447
674
  # BatchOperationReset sends reset requests to batch workflows.
448
675
  # Keep the parameter in sync with temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest.
449
676
  class Temporalio::Api::Batch::V1::BatchOperationReset
@@ -1593,7 +1593,8 @@ class Temporalio::Api::Command::V1::StartChildWorkflowExecutionCommandAttributes
1593
1593
  memo: T.nilable(Temporalio::Api::Common::V1::Memo),
1594
1594
  search_attributes: T.nilable(Temporalio::Api::Common::V1::SearchAttributes),
1595
1595
  inherit_build_id: T.nilable(T::Boolean),
1596
- priority: T.nilable(Temporalio::Api::Common::V1::Priority)
1596
+ priority: T.nilable(Temporalio::Api::Common::V1::Priority),
1597
+ versioning_override: T.nilable(Temporalio::Api::Workflow::V1::VersioningOverride)
1597
1598
  ).void
1598
1599
  end
1599
1600
  def initialize(
@@ -1614,7 +1615,8 @@ class Temporalio::Api::Command::V1::StartChildWorkflowExecutionCommandAttributes
1614
1615
  memo: nil,
1615
1616
  search_attributes: nil,
1616
1617
  inherit_build_id: false,
1617
- priority: nil
1618
+ priority: nil,
1619
+ versioning_override: nil
1618
1620
  )
1619
1621
  end
1620
1622
 
@@ -1870,6 +1872,24 @@ class Temporalio::Api::Command::V1::StartChildWorkflowExecutionCommandAttributes
1870
1872
  def clear_priority
1871
1873
  end
1872
1874
 
1875
+ # Versioning override for the child workflow. If present, this explicit override takes
1876
+ # precedence over versioning behavior inherited from the parent workflow.
1877
+ sig { returns(T.nilable(Temporalio::Api::Workflow::V1::VersioningOverride)) }
1878
+ def versioning_override
1879
+ end
1880
+
1881
+ # Versioning override for the child workflow. If present, this explicit override takes
1882
+ # precedence over versioning behavior inherited from the parent workflow.
1883
+ sig { params(value: T.nilable(Temporalio::Api::Workflow::V1::VersioningOverride)).void }
1884
+ def versioning_override=(value)
1885
+ end
1886
+
1887
+ # Versioning override for the child workflow. If present, this explicit override takes
1888
+ # precedence over versioning behavior inherited from the parent workflow.
1889
+ sig { void }
1890
+ def clear_versioning_override
1891
+ end
1892
+
1873
1893
  sig { params(field: String).returns(T.untyped) }
1874
1894
  def [](field)
1875
1895
  end