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
@@ -10,6 +10,7 @@ module Temporalio::Api::Enums::V1::ActivityExecutionStatus
10
10
  self::ACTIVITY_EXECUTION_STATUS_CANCELED = T.let(4, Integer)
11
11
  self::ACTIVITY_EXECUTION_STATUS_TERMINATED = T.let(5, Integer)
12
12
  self::ACTIVITY_EXECUTION_STATUS_TIMED_OUT = T.let(6, Integer)
13
+ self::ACTIVITY_EXECUTION_STATUS_PAUSED = T.let(7, Integer)
13
14
 
14
15
  sig { params(value: Integer).returns(T.nilable(Symbol)) }
15
16
  def self.lookup(value)
@@ -5,14 +5,23 @@
5
5
  module Temporalio::Api::Enums::V1::BatchOperationType
6
6
  self::BATCH_OPERATION_TYPE_UNSPECIFIED = T.let(0, Integer)
7
7
  self::BATCH_OPERATION_TYPE_TERMINATE = T.let(1, Integer)
8
+ self::BATCH_OPERATION_TYPE_TERMINATE_WORKFLOW = T.let(13, Integer)
8
9
  self::BATCH_OPERATION_TYPE_CANCEL = T.let(2, Integer)
10
+ self::BATCH_OPERATION_TYPE_CANCEL_WORKFLOW = T.let(14, Integer)
9
11
  self::BATCH_OPERATION_TYPE_SIGNAL = T.let(3, Integer)
12
+ self::BATCH_OPERATION_TYPE_SIGNAL_WORKFLOW = T.let(15, Integer)
10
13
  self::BATCH_OPERATION_TYPE_DELETE = T.let(4, Integer)
14
+ self::BATCH_OPERATION_TYPE_DELETE_WORKFLOW = T.let(16, Integer)
11
15
  self::BATCH_OPERATION_TYPE_RESET = T.let(5, Integer)
16
+ self::BATCH_OPERATION_TYPE_RESET_WORKFLOW = T.let(17, Integer)
12
17
  self::BATCH_OPERATION_TYPE_UPDATE_EXECUTION_OPTIONS = T.let(6, Integer)
18
+ self::BATCH_OPERATION_TYPE_UPDATE_WORKFLOW_EXECUTION_OPTIONS = T.let(18, Integer)
13
19
  self::BATCH_OPERATION_TYPE_UNPAUSE_ACTIVITY = T.let(7, Integer)
14
20
  self::BATCH_OPERATION_TYPE_UPDATE_ACTIVITY_OPTIONS = T.let(8, Integer)
15
21
  self::BATCH_OPERATION_TYPE_RESET_ACTIVITY = T.let(9, Integer)
22
+ self::BATCH_OPERATION_TYPE_TERMINATE_ACTIVITY = T.let(10, Integer)
23
+ self::BATCH_OPERATION_TYPE_CANCEL_ACTIVITY = T.let(11, Integer)
24
+ self::BATCH_OPERATION_TYPE_DELETE_ACTIVITY = T.let(12, Integer)
16
25
 
17
26
  sig { params(value: Integer).returns(T.nilable(Symbol)) }
18
27
  def self.lookup(value)
@@ -179,3 +179,21 @@ module Temporalio::Api::Enums::V1::WorkerStatus
179
179
  def self.descriptor
180
180
  end
181
181
  end
182
+
183
+ module Temporalio::Api::Enums::V1::ExecutionType
184
+ self::EXECUTION_TYPE_UNSPECIFIED = T.let(0, Integer)
185
+ self::EXECUTION_TYPE_WORKFLOW = T.let(1, Integer)
186
+ self::EXECUTION_TYPE_ACTIVITY = T.let(2, Integer)
187
+
188
+ sig { params(value: Integer).returns(T.nilable(Symbol)) }
189
+ def self.lookup(value)
190
+ end
191
+
192
+ sig { params(value: Symbol).returns(T.nilable(Integer)) }
193
+ def self.resolve(value)
194
+ end
195
+
196
+ sig { returns(::Google::Protobuf::EnumDescriptor) }
197
+ def self.descriptor
198
+ end
199
+ end
@@ -41,6 +41,9 @@ module Temporalio::Api::Enums::V1::WorkflowTaskFailedCause
41
41
  self::WORKFLOW_TASK_FAILED_CAUSE_FEATURE_DISABLED = T.let(35, Integer)
42
42
  self::WORKFLOW_TASK_FAILED_CAUSE_GRPC_MESSAGE_TOO_LARGE = T.let(36, Integer)
43
43
  self::WORKFLOW_TASK_FAILED_CAUSE_PAYLOADS_TOO_LARGE = T.let(37, Integer)
44
+ self::WORKFLOW_TASK_FAILED_CAUSE_EXTERNAL_STORAGE_FAILURE = T.let(38, Integer)
45
+ self::WORKFLOW_TASK_FAILED_CAUSE_WORKFLOW_PAUSE_REQUESTED_BEFORE_TASK_STARTED = T.let(39, Integer)
46
+ self::WORKFLOW_TASK_FAILED_CAUSE_REQUEST_TOO_LARGE = T.let(40, Integer)
44
47
 
45
48
  sig { params(value: Integer).returns(T.nilable(Symbol)) }
46
49
  def self.lookup(value)
@@ -59,6 +62,7 @@ module Temporalio::Api::Enums::V1::StartChildWorkflowExecutionFailedCause
59
62
  self::START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED = T.let(0, Integer)
60
63
  self::START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_WORKFLOW_ALREADY_EXISTS = T.let(1, Integer)
61
64
  self::START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND = T.let(2, Integer)
65
+ self::START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_INVALID_VERSIONING_OVERRIDE = T.let(3, Integer)
62
66
 
63
67
  sig { params(value: Integer).returns(T.nilable(Symbol)) }
64
68
  def self.lookup(value)
@@ -0,0 +1,22 @@
1
+ # Code generated by protoc-gen-rbi. DO NOT EDIT.
2
+ # source: temporal/api/enums/v1/time_skipping.proto
3
+ # typed: strict
4
+
5
+ module Temporalio::Api::Enums::V1::FastForwardPollingResult
6
+ self::FAST_FORWARD_POLLING_RESULT_UNSPECIFIED = T.let(0, Integer)
7
+ self::FAST_FORWARD_POLLING_RESULT_POLL_TIMEOUT = T.let(1, Integer)
8
+ self::FAST_FORWARD_POLLING_RESULT_FAST_FORWARD_COMPLETED = T.let(2, Integer)
9
+ self::FAST_FORWARD_POLLING_RESULT_FAST_FORWARD_FAILED = T.let(3, Integer)
10
+
11
+ sig { params(value: Integer).returns(T.nilable(Symbol)) }
12
+ def self.lookup(value)
13
+ end
14
+
15
+ sig { params(value: Symbol).returns(T.nilable(Integer)) }
16
+ def self.resolve(value)
17
+ end
18
+
19
+ sig { returns(::Google::Protobuf::EnumDescriptor) }
20
+ def self.descriptor
21
+ end
22
+ end
@@ -82,12 +82,14 @@ class Temporalio::Api::ErrorDetails::V1::WorkflowExecutionAlreadyStartedFailure
82
82
  sig do
83
83
  params(
84
84
  start_request_id: T.nilable(String),
85
- run_id: T.nilable(String)
85
+ run_id: T.nilable(String),
86
+ first_execution_run_id: T.nilable(String)
86
87
  ).void
87
88
  end
88
89
  def initialize(
89
90
  start_request_id: "",
90
- run_id: ""
91
+ run_id: "",
92
+ first_execution_run_id: ""
91
93
  )
92
94
  end
93
95
 
@@ -115,6 +117,18 @@ class Temporalio::Api::ErrorDetails::V1::WorkflowExecutionAlreadyStartedFailure
115
117
  def clear_run_id
116
118
  end
117
119
 
120
+ sig { returns(String) }
121
+ def first_execution_run_id
122
+ end
123
+
124
+ sig { params(value: String).void }
125
+ def first_execution_run_id=(value)
126
+ end
127
+
128
+ sig { void }
129
+ def clear_first_execution_run_id
130
+ end
131
+
118
132
  sig { params(field: String).returns(T.untyped) }
119
133
  def [](field)
120
134
  end
@@ -1296,6 +1310,49 @@ class Temporalio::Api::ErrorDetails::V1::NexusOperationExecutionAlreadyStartedFa
1296
1310
  end
1297
1311
  end
1298
1312
 
1313
+ # An error indicating that the server lost the buffered pages of a paginated workflow task
1314
+ # completion. This is a transient error: the workflow task is still valid, and the client
1315
+ # should resend all pages from page 0 using the same task token.
1316
+ class Temporalio::Api::ErrorDetails::V1::WorkflowTaskCompletionBufferLostFailure
1317
+ include ::Google::Protobuf::MessageExts
1318
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1319
+
1320
+ sig {void}
1321
+ def initialize; end
1322
+
1323
+ sig { params(field: String).returns(T.untyped) }
1324
+ def [](field)
1325
+ end
1326
+
1327
+ sig { params(field: String, value: T.untyped).void }
1328
+ def []=(field, value)
1329
+ end
1330
+
1331
+ sig { returns(T::Hash[Symbol, T.untyped]) }
1332
+ def to_h
1333
+ end
1334
+
1335
+ sig { params(str: String).returns(Temporalio::Api::ErrorDetails::V1::WorkflowTaskCompletionBufferLostFailure) }
1336
+ def self.decode(str)
1337
+ end
1338
+
1339
+ sig { params(msg: Temporalio::Api::ErrorDetails::V1::WorkflowTaskCompletionBufferLostFailure).returns(String) }
1340
+ def self.encode(msg)
1341
+ end
1342
+
1343
+ sig { params(str: String, kw: T.untyped).returns(Temporalio::Api::ErrorDetails::V1::WorkflowTaskCompletionBufferLostFailure) }
1344
+ def self.decode_json(str, **kw)
1345
+ end
1346
+
1347
+ sig { params(msg: Temporalio::Api::ErrorDetails::V1::WorkflowTaskCompletionBufferLostFailure, kw: T.untyped).returns(String) }
1348
+ def self.encode_json(msg, **kw)
1349
+ end
1350
+
1351
+ sig { returns(::Google::Protobuf::Descriptor) }
1352
+ def self.descriptor
1353
+ end
1354
+ end
1355
+
1299
1356
  # NOTE: `OperationStatus` is modelled after
1300
1357
  # [`google.rpc.Status`](https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto).
1301
1358
  #
@@ -5760,7 +5760,8 @@ class Temporalio::Api::History::V1::StartChildWorkflowExecutionInitiatedEventAtt
5760
5760
  inherit_build_id: T.nilable(T::Boolean),
5761
5761
  priority: T.nilable(Temporalio::Api::Common::V1::Priority),
5762
5762
  time_skipping_config: T.nilable(Temporalio::Api::Common::V1::TimeSkippingConfig),
5763
- time_skipping_state_propagation: T.nilable(Temporalio::Api::Common::V1::TimeSkippingStatePropagation)
5763
+ time_skipping_state_propagation: T.nilable(Temporalio::Api::Common::V1::TimeSkippingStatePropagation),
5764
+ versioning_override: T.nilable(Temporalio::Api::Workflow::V1::VersioningOverride)
5764
5765
  ).void
5765
5766
  end
5766
5767
  def initialize(
@@ -5785,7 +5786,8 @@ class Temporalio::Api::History::V1::StartChildWorkflowExecutionInitiatedEventAtt
5785
5786
  inherit_build_id: false,
5786
5787
  priority: nil,
5787
5788
  time_skipping_config: nil,
5788
- time_skipping_state_propagation: nil
5789
+ time_skipping_state_propagation: nil,
5790
+ versioning_override: nil
5789
5791
  )
5790
5792
  end
5791
5793
 
@@ -6104,6 +6106,24 @@ class Temporalio::Api::History::V1::StartChildWorkflowExecutionInitiatedEventAtt
6104
6106
  def clear_time_skipping_state_propagation
6105
6107
  end
6106
6108
 
6109
+ # Versioning override requested for the child workflow. If present, this explicit override
6110
+ # takes precedence over versioning behavior inherited from the parent workflow.
6111
+ sig { returns(T.nilable(Temporalio::Api::Workflow::V1::VersioningOverride)) }
6112
+ def versioning_override
6113
+ end
6114
+
6115
+ # Versioning override requested for the child workflow. If present, this explicit override
6116
+ # takes precedence over versioning behavior inherited from the parent workflow.
6117
+ sig { params(value: T.nilable(Temporalio::Api::Workflow::V1::VersioningOverride)).void }
6118
+ def versioning_override=(value)
6119
+ end
6120
+
6121
+ # Versioning override requested for the child workflow. If present, this explicit override
6122
+ # takes precedence over versioning behavior inherited from the parent workflow.
6123
+ sig { void }
6124
+ def clear_versioning_override
6125
+ end
6126
+
6107
6127
  sig { params(field: String).returns(T.untyped) }
6108
6128
  def [](field)
6109
6129
  end
@@ -8275,8 +8295,8 @@ class Temporalio::Api::History::V1::WorkflowExecutionUnpausedEventAttributes
8275
8295
  end
8276
8296
  end
8277
8297
 
8278
- # Attributes for an event indicating that time skipping state changed for a workflow execution,
8279
- # either time was advanced or time skipping was disabled automatically due to the fast_forward completing.
8298
+ # Attributes for an event indicating that time skipping state changed for a workflow execution:
8299
+ # either time was advanced, or time skipping was stopped automatically due to the fast_forward completing.
8280
8300
  # The worker_may_ignore field in HistoryEvent should always be set true for this event.
8281
8301
  class Temporalio::Api::History::V1::WorkflowExecutionTimeSkippingTransitionedEventAttributes
8282
8302
  include ::Google::Protobuf::MessageExts
@@ -8311,21 +8331,21 @@ class Temporalio::Api::History::V1::WorkflowExecutionTimeSkippingTransitionedEve
8311
8331
  def clear_target_time
8312
8332
  end
8313
8333
 
8314
- # When true, time skipping has been disabled automatically due to a call to fast_forward completing.
8334
+ # When true, time skipping has been stopped automatically due to a call to fast_forward completing.
8315
8335
  # (-- api-linter: core::0140::prepositions=disabled
8316
8336
  # aip.dev/not-precedent: "after" is used to indicate temporal ordering. --)
8317
8337
  sig { returns(T::Boolean) }
8318
8338
  def disabled_after_fast_forward
8319
8339
  end
8320
8340
 
8321
- # When true, time skipping has been disabled automatically due to a call to fast_forward completing.
8341
+ # When true, time skipping has been stopped automatically due to a call to fast_forward completing.
8322
8342
  # (-- api-linter: core::0140::prepositions=disabled
8323
8343
  # aip.dev/not-precedent: "after" is used to indicate temporal ordering. --)
8324
8344
  sig { params(value: T::Boolean).void }
8325
8345
  def disabled_after_fast_forward=(value)
8326
8346
  end
8327
8347
 
8328
- # When true, time skipping has been disabled automatically due to a call to fast_forward completing.
8348
+ # When true, time skipping has been stopped automatically due to a call to fast_forward completing.
8329
8349
  # (-- api-linter: core::0140::prepositions=disabled
8330
8350
  # aip.dev/not-precedent: "after" is used to indicate temporal ordering. --)
8331
8351
  sig { void }
@@ -698,7 +698,11 @@ class Temporalio::Api::Namespace::V1::NamespaceInfo::Capabilities
698
698
  worker_commands: T.nilable(T::Boolean),
699
699
  standalone_nexus_operation: T.nilable(T::Boolean),
700
700
  workflow_update_callbacks: T.nilable(T::Boolean),
701
- poller_autoscaling_auto_enroll: T.nilable(T::Boolean)
701
+ poller_autoscaling_auto_enroll: T.nilable(T::Boolean),
702
+ workflow_task_completion_pagination: T.nilable(T::Boolean),
703
+ standalone_activity_start_delay: T.nilable(T::Boolean),
704
+ standalone_activity_batch_operations: T.nilable(T::Boolean),
705
+ standalone_activity_operator_commands: T.nilable(T::Boolean)
702
706
  ).void
703
707
  end
704
708
  def initialize(
@@ -714,7 +718,11 @@ class Temporalio::Api::Namespace::V1::NamespaceInfo::Capabilities
714
718
  worker_commands: false,
715
719
  standalone_nexus_operation: false,
716
720
  workflow_update_callbacks: false,
717
- poller_autoscaling_auto_enroll: false
721
+ poller_autoscaling_auto_enroll: false,
722
+ workflow_task_completion_pagination: false,
723
+ standalone_activity_start_delay: false,
724
+ standalone_activity_batch_operations: false,
725
+ standalone_activity_operator_commands: false
718
726
  )
719
727
  end
720
728
 
@@ -925,6 +933,66 @@ class Temporalio::Api::Namespace::V1::NamespaceInfo::Capabilities
925
933
  def clear_poller_autoscaling_auto_enroll
926
934
  end
927
935
 
936
+ # True if the namespace supports pagination of `RespondWorkflowTaskCompleted` request.
937
+ sig { returns(T::Boolean) }
938
+ def workflow_task_completion_pagination
939
+ end
940
+
941
+ # True if the namespace supports pagination of `RespondWorkflowTaskCompleted` request.
942
+ sig { params(value: T::Boolean).void }
943
+ def workflow_task_completion_pagination=(value)
944
+ end
945
+
946
+ # True if the namespace supports pagination of `RespondWorkflowTaskCompleted` request.
947
+ sig { void }
948
+ def clear_workflow_task_completion_pagination
949
+ end
950
+
951
+ # True if the namespace supports start delay for standalone activities.
952
+ sig { returns(T::Boolean) }
953
+ def standalone_activity_start_delay
954
+ end
955
+
956
+ # True if the namespace supports start delay for standalone activities.
957
+ sig { params(value: T::Boolean).void }
958
+ def standalone_activity_start_delay=(value)
959
+ end
960
+
961
+ # True if the namespace supports start delay for standalone activities.
962
+ sig { void }
963
+ def clear_standalone_activity_start_delay
964
+ end
965
+
966
+ # True if the namespace supports batch operations for standalone activities.
967
+ sig { returns(T::Boolean) }
968
+ def standalone_activity_batch_operations
969
+ end
970
+
971
+ # True if the namespace supports batch operations for standalone activities.
972
+ sig { params(value: T::Boolean).void }
973
+ def standalone_activity_batch_operations=(value)
974
+ end
975
+
976
+ # True if the namespace supports batch operations for standalone activities.
977
+ sig { void }
978
+ def clear_standalone_activity_batch_operations
979
+ end
980
+
981
+ # True if the namespace supports standalone activity operator commands.
982
+ sig { returns(T::Boolean) }
983
+ def standalone_activity_operator_commands
984
+ end
985
+
986
+ # True if the namespace supports standalone activity operator commands.
987
+ sig { params(value: T::Boolean).void }
988
+ def standalone_activity_operator_commands=(value)
989
+ end
990
+
991
+ # True if the namespace supports standalone activity operator commands.
992
+ sig { void }
993
+ def clear_standalone_activity_operator_commands
994
+ end
995
+
928
996
  sig { params(field: String).returns(T.untyped) }
929
997
  def [](field)
930
998
  end
@@ -965,12 +1033,14 @@ class Temporalio::Api::Namespace::V1::NamespaceInfo::Limits
965
1033
  sig do
966
1034
  params(
967
1035
  blob_size_limit_error: T.nilable(Integer),
968
- memo_size_limit_error: T.nilable(Integer)
1036
+ memo_size_limit_error: T.nilable(Integer),
1037
+ workflow_task_completion_size_limit_error: T.nilable(Integer)
969
1038
  ).void
970
1039
  end
971
1040
  def initialize(
972
1041
  blob_size_limit_error: 0,
973
- memo_size_limit_error: 0
1042
+ memo_size_limit_error: 0,
1043
+ workflow_task_completion_size_limit_error: 0
974
1044
  )
975
1045
  end
976
1046
 
@@ -1010,6 +1080,27 @@ class Temporalio::Api::Namespace::V1::NamespaceInfo::Limits
1010
1080
  def clear_memo_size_limit_error
1011
1081
  end
1012
1082
 
1083
+ # Maximum total size in bytes of a single RespondWorkflowTaskCompleted request.
1084
+ # Requests exceeding this fail the workflow task with
1085
+ # WORKFLOW_TASK_FAILED_CAUSE_REQUEST_TOO_LARGE. 0 means no explicit limit.
1086
+ sig { returns(Integer) }
1087
+ def workflow_task_completion_size_limit_error
1088
+ end
1089
+
1090
+ # Maximum total size in bytes of a single RespondWorkflowTaskCompleted request.
1091
+ # Requests exceeding this fail the workflow task with
1092
+ # WORKFLOW_TASK_FAILED_CAUSE_REQUEST_TOO_LARGE. 0 means no explicit limit.
1093
+ sig { params(value: Integer).void }
1094
+ def workflow_task_completion_size_limit_error=(value)
1095
+ end
1096
+
1097
+ # Maximum total size in bytes of a single RespondWorkflowTaskCompleted request.
1098
+ # Requests exceeding this fail the workflow task with
1099
+ # WORKFLOW_TASK_FAILED_CAUSE_REQUEST_TOO_LARGE. 0 means no explicit limit.
1100
+ sig { void }
1101
+ def clear_workflow_task_completion_size_limit_error
1102
+ end
1103
+
1013
1104
  sig { params(field: String).returns(T.untyped) }
1014
1105
  def [](field)
1015
1106
  end
@@ -634,14 +634,16 @@ class Temporalio::Api::TaskQueue::V1::TaskQueueStats
634
634
  approximate_backlog_count: T.nilable(Integer),
635
635
  approximate_backlog_age: T.nilable(Google::Protobuf::Duration),
636
636
  tasks_add_rate: T.nilable(Float),
637
- tasks_dispatch_rate: T.nilable(Float)
637
+ tasks_dispatch_rate: T.nilable(Float),
638
+ rate_limiting_active: T.nilable(T::Boolean)
638
639
  ).void
639
640
  end
640
641
  def initialize(
641
642
  approximate_backlog_count: 0,
642
643
  approximate_backlog_age: nil,
643
644
  tasks_add_rate: 0.0,
644
- tasks_dispatch_rate: 0.0
645
+ tasks_dispatch_rate: 0.0,
646
+ rate_limiting_active: false
645
647
  )
646
648
  end
647
649
 
@@ -813,6 +815,30 @@ class Temporalio::Api::TaskQueue::V1::TaskQueueStats
813
815
  def clear_tasks_dispatch_rate
814
816
  end
815
817
 
818
+ # Whether rate limiting blocked any dispatches within the recent observation window (approximately
819
+ # 30 seconds). When true, adding more workers will not increase throughput — the bottleneck is the
820
+ # rate limit, not worker count. This field is useful for auto-scaling systems to avoid unnecessary
821
+ # scale-up.
822
+ sig { returns(T::Boolean) }
823
+ def rate_limiting_active
824
+ end
825
+
826
+ # Whether rate limiting blocked any dispatches within the recent observation window (approximately
827
+ # 30 seconds). When true, adding more workers will not increase throughput — the bottleneck is the
828
+ # rate limit, not worker count. This field is useful for auto-scaling systems to avoid unnecessary
829
+ # scale-up.
830
+ sig { params(value: T::Boolean).void }
831
+ def rate_limiting_active=(value)
832
+ end
833
+
834
+ # Whether rate limiting blocked any dispatches within the recent observation window (approximately
835
+ # 30 seconds). When true, adding more workers will not increase throughput — the bottleneck is the
836
+ # rate limit, not worker count. This field is useful for auto-scaling systems to avoid unnecessary
837
+ # scale-up.
838
+ sig { void }
839
+ def clear_rate_limiting_active
840
+ end
841
+
816
842
  sig { params(field: String).returns(T.untyped) }
817
843
  def [](field)
818
844
  end
@@ -2050,6 +2076,91 @@ class Temporalio::Api::TaskQueue::V1::PollerGroupInfo
2050
2076
  end
2051
2077
  end
2052
2078
 
2079
+ # A versioned snapshot of the poller groups the client should use for future polls to a task
2080
+ # queue. The version is monotonically increasing so that a client can ignore a snapshot that is
2081
+ # older than the one it has already applied.
2082
+ class Temporalio::Api::TaskQueue::V1::PollerGroupsInfo
2083
+ include ::Google::Protobuf::MessageExts
2084
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2085
+
2086
+ sig do
2087
+ params(
2088
+ version: T.nilable(Integer),
2089
+ poller_groups: T.nilable(T::Array[T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupInfo)])
2090
+ ).void
2091
+ end
2092
+ def initialize(
2093
+ version: 0,
2094
+ poller_groups: []
2095
+ )
2096
+ end
2097
+
2098
+ # Monotonically increasing version of this snapshot. A client should ignore any snapshot whose
2099
+ # version is not greater than the one it last applied.
2100
+ sig { returns(Integer) }
2101
+ def version
2102
+ end
2103
+
2104
+ # Monotonically increasing version of this snapshot. A client should ignore any snapshot whose
2105
+ # version is not greater than the one it last applied.
2106
+ sig { params(value: Integer).void }
2107
+ def version=(value)
2108
+ end
2109
+
2110
+ # Monotonically increasing version of this snapshot. A client should ignore any snapshot whose
2111
+ # version is not greater than the one it last applied.
2112
+ sig { void }
2113
+ def clear_version
2114
+ end
2115
+
2116
+ # The weighted list of poller groups the client should use for future polls to this task queue.
2117
+ sig { returns(T::Array[T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupInfo)]) }
2118
+ def poller_groups
2119
+ end
2120
+
2121
+ # The weighted list of poller groups the client should use for future polls to this task queue.
2122
+ sig { params(value: ::Google::Protobuf::RepeatedField).void }
2123
+ def poller_groups=(value)
2124
+ end
2125
+
2126
+ # The weighted list of poller groups the client should use for future polls to this task queue.
2127
+ sig { void }
2128
+ def clear_poller_groups
2129
+ end
2130
+
2131
+ sig { params(field: String).returns(T.untyped) }
2132
+ def [](field)
2133
+ end
2134
+
2135
+ sig { params(field: String, value: T.untyped).void }
2136
+ def []=(field, value)
2137
+ end
2138
+
2139
+ sig { returns(T::Hash[Symbol, T.untyped]) }
2140
+ def to_h
2141
+ end
2142
+
2143
+ sig { params(str: String).returns(Temporalio::Api::TaskQueue::V1::PollerGroupsInfo) }
2144
+ def self.decode(str)
2145
+ end
2146
+
2147
+ sig { params(msg: Temporalio::Api::TaskQueue::V1::PollerGroupsInfo).returns(String) }
2148
+ def self.encode(msg)
2149
+ end
2150
+
2151
+ sig { params(str: String, kw: T.untyped).returns(Temporalio::Api::TaskQueue::V1::PollerGroupsInfo) }
2152
+ def self.decode_json(str, **kw)
2153
+ end
2154
+
2155
+ sig { params(msg: Temporalio::Api::TaskQueue::V1::PollerGroupsInfo, kw: T.untyped).returns(String) }
2156
+ def self.encode_json(msg, **kw)
2157
+ end
2158
+
2159
+ sig { returns(::Google::Protobuf::Descriptor) }
2160
+ def self.descriptor
2161
+ end
2162
+ end
2163
+
2053
2164
  # Attached to task responses to give hints to the SDK about how it may adjust its number of
2054
2165
  # pollers.
2055
2166
  class Temporalio::Api::TaskQueue::V1::PollerScalingDecision