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
@@ -1567,5 +1567,13 @@ module Temporalio::Api::WorkflowService::V1::WorkflowService
1567
1567
  end
1568
1568
  def delete_nexus_operation_execution(request)
1569
1569
  end
1570
+
1571
+ sig do
1572
+ params(
1573
+ request: Temporalio::Api::WorkflowService::V1::PollWorkflowExecutionTimeSkippingRequest
1574
+ ).returns(Temporalio::Api::WorkflowService::V1::PollWorkflowExecutionTimeSkippingResponse)
1575
+ end
1576
+ def poll_workflow_execution_time_skipping(request)
1577
+ end
1570
1578
  end
1571
1579
  end
@@ -374,4 +374,7 @@ class Temporalio::Client::Connection::WorkflowService < ::Temporalio::Client::Co
374
374
 
375
375
  sig { params(request: Temporalio::Api::WorkflowService::V1::DeleteNexusOperationExecutionRequest, rpc_options: T.nilable(Temporalio::Client::RPCOptions)).returns(Temporalio::Api::WorkflowService::V1::DeleteNexusOperationExecutionResponse) }
376
376
  def delete_nexus_operation_execution(request, rpc_options: T.unsafe(nil)); end
377
+
378
+ sig { params(request: Temporalio::Api::WorkflowService::V1::PollWorkflowExecutionTimeSkippingRequest, rpc_options: T.nilable(Temporalio::Client::RPCOptions)).returns(Temporalio::Api::WorkflowService::V1::PollWorkflowExecutionTimeSkippingResponse) }
379
+ def poll_workflow_execution_time_skipping(request, rpc_options: T.unsafe(nil)); end
377
380
  end
@@ -15,6 +15,7 @@ class Temporalio::Client::Connection
15
15
  lazy_connect: T::Boolean,
16
16
  dns_load_balancing: T.nilable(Temporalio::Client::Connection::DnsLoadBalancingOptions),
17
17
  grpc_compression: T.any(Temporalio::Client::Connection::GrpcCompressionOptions::Gzip, Temporalio::Client::Connection::GrpcCompressionOptions::None),
18
+ payload_limits: Temporalio::Client::Connection::PayloadLimitsOptions,
18
19
  around_connect: T.nilable(T.proc.params(arg0: Temporalio::Client::Connection::Options, arg1: T.proc.params(arg0: Temporalio::Client::Connection::Options).void).void)
19
20
  ).void
20
21
  end
@@ -31,6 +32,7 @@ class Temporalio::Client::Connection
31
32
  lazy_connect: T.unsafe(nil),
32
33
  dns_load_balancing: T.unsafe(nil),
33
34
  grpc_compression: T.unsafe(nil),
35
+ payload_limits: T.unsafe(nil),
34
36
  around_connect: T.unsafe(nil)
35
37
  ); end
36
38
 
@@ -6,8 +6,13 @@ class Temporalio::Converters::FailureConverter
6
6
  sig { returns(Temporalio::Converters::FailureConverter) }
7
7
  def self.default; end
8
8
 
9
- sig { params(encode_common_attributes: T::Boolean).void }
10
- def initialize(encode_common_attributes: T.unsafe(nil)); end
9
+ sig do
10
+ params(
11
+ encode_common_attributes: T::Boolean,
12
+ process_common_attributes: T.nilable(T.proc.params(arg0: T::Hash[Symbol, T.nilable(String)]).returns(Object))
13
+ ).void
14
+ end
15
+ def initialize(encode_common_attributes: T.unsafe(nil), process_common_attributes: T.unsafe(nil)); end
11
16
 
12
17
  sig { returns(T::Boolean) }
13
18
  attr_reader :encode_common_attributes
@@ -172,6 +172,121 @@ class Temporalio::Internal::Bridge::Api::Common::WorkerDeploymentVersion
172
172
  end
173
173
  end
174
174
 
175
+ # Metrics for a set of external payload storage operations (all uploads and downloads)
176
+ # performed while processing a task, so core can emit unified logging and metrics.
177
+ class Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics
178
+ include ::Google::Protobuf::MessageExts
179
+ extend ::Google::Protobuf::MessageExts::ClassMethods
180
+
181
+ sig do
182
+ params(
183
+ payload_count: T.nilable(Integer),
184
+ total_size_bytes: T.nilable(Integer),
185
+ total_duration: T.nilable(Google::Protobuf::Duration),
186
+ driver_names: T.nilable(T::Array[String])
187
+ ).void
188
+ end
189
+ def initialize(
190
+ payload_count: 0,
191
+ total_size_bytes: 0,
192
+ total_duration: nil,
193
+ driver_names: []
194
+ )
195
+ end
196
+
197
+ # Number of payloads stored or retrieved externally.
198
+ sig { returns(Integer) }
199
+ def payload_count
200
+ end
201
+
202
+ # Number of payloads stored or retrieved externally.
203
+ sig { params(value: Integer).void }
204
+ def payload_count=(value)
205
+ end
206
+
207
+ # Number of payloads stored or retrieved externally.
208
+ sig { void }
209
+ def clear_payload_count
210
+ end
211
+
212
+ # Total size in bytes of the externally stored or retrieved payloads.
213
+ sig { returns(Integer) }
214
+ def total_size_bytes
215
+ end
216
+
217
+ # Total size in bytes of the externally stored or retrieved payloads.
218
+ sig { params(value: Integer).void }
219
+ def total_size_bytes=(value)
220
+ end
221
+
222
+ # Total size in bytes of the externally stored or retrieved payloads.
223
+ sig { void }
224
+ def clear_total_size_bytes
225
+ end
226
+
227
+ # Wall-clock time spent on the external storage operations.
228
+ sig { returns(T.nilable(Google::Protobuf::Duration)) }
229
+ def total_duration
230
+ end
231
+
232
+ # Wall-clock time spent on the external storage operations.
233
+ sig { params(value: T.nilable(Google::Protobuf::Duration)).void }
234
+ def total_duration=(value)
235
+ end
236
+
237
+ # Wall-clock time spent on the external storage operations.
238
+ sig { void }
239
+ def clear_total_duration
240
+ end
241
+
242
+ # Names of the drivers that participated in the operations.
243
+ sig { returns(T::Array[String]) }
244
+ def driver_names
245
+ end
246
+
247
+ # Names of the drivers that participated in the operations.
248
+ sig { params(value: ::Google::Protobuf::RepeatedField).void }
249
+ def driver_names=(value)
250
+ end
251
+
252
+ # Names of the drivers that participated in the operations.
253
+ sig { void }
254
+ def clear_driver_names
255
+ end
256
+
257
+ sig { params(field: String).returns(T.untyped) }
258
+ def [](field)
259
+ end
260
+
261
+ sig { params(field: String, value: T.untyped).void }
262
+ def []=(field, value)
263
+ end
264
+
265
+ sig { returns(T::Hash[Symbol, T.untyped]) }
266
+ def to_h
267
+ end
268
+
269
+ sig { params(str: String).returns(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics) }
270
+ def self.decode(str)
271
+ end
272
+
273
+ sig { params(msg: Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics).returns(String) }
274
+ def self.encode(msg)
275
+ end
276
+
277
+ sig { params(str: String, kw: T.untyped).returns(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics) }
278
+ def self.decode_json(str, **kw)
279
+ end
280
+
281
+ sig { params(msg: Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics, kw: T.untyped).returns(String) }
282
+ def self.encode_json(msg, **kw)
283
+ end
284
+
285
+ sig { returns(::Google::Protobuf::Descriptor) }
286
+ def self.descriptor
287
+ end
288
+ end
289
+
175
290
  module Temporalio::Internal::Bridge::Api::Common::VersioningIntent
176
291
  self::UNSPECIFIED = T.let(0, Integer)
177
292
  self::COMPATIBLE = T.let(1, Integer)
@@ -11,13 +11,17 @@ class Temporalio::Internal::Bridge::Api::WorkflowCompletion::WorkflowActivationC
11
11
  params(
12
12
  run_id: T.nilable(String),
13
13
  successful: T.nilable(Temporalio::Internal::Bridge::Api::WorkflowCompletion::Success),
14
- failed: T.nilable(Temporalio::Internal::Bridge::Api::WorkflowCompletion::Failure)
14
+ failed: T.nilable(Temporalio::Internal::Bridge::Api::WorkflowCompletion::Failure),
15
+ payload_download_metrics: T.nilable(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics),
16
+ payload_upload_metrics: T.nilable(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics)
15
17
  ).void
16
18
  end
17
19
  def initialize(
18
20
  run_id: "",
19
21
  successful: nil,
20
- failed: nil
22
+ failed: nil,
23
+ payload_download_metrics: nil,
24
+ payload_upload_metrics: nil
21
25
  )
22
26
  end
23
27
 
@@ -60,6 +64,42 @@ class Temporalio::Internal::Bridge::Api::WorkflowCompletion::WorkflowActivationC
60
64
  def clear_failed
61
65
  end
62
66
 
67
+ # Metrics for external payload storage downloads (retrievals) performed while processing
68
+ # this activation. Only set when external storage retrieved payloads.
69
+ sig { returns(T.nilable(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics)) }
70
+ def payload_download_metrics
71
+ end
72
+
73
+ # Metrics for external payload storage downloads (retrievals) performed while processing
74
+ # this activation. Only set when external storage retrieved payloads.
75
+ sig { params(value: T.nilable(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics)).void }
76
+ def payload_download_metrics=(value)
77
+ end
78
+
79
+ # Metrics for external payload storage downloads (retrievals) performed while processing
80
+ # this activation. Only set when external storage retrieved payloads.
81
+ sig { void }
82
+ def clear_payload_download_metrics
83
+ end
84
+
85
+ # Metrics for external payload storage uploads (stores) performed while processing this
86
+ # activation. Only set when external storage stored payloads.
87
+ sig { returns(T.nilable(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics)) }
88
+ def payload_upload_metrics
89
+ end
90
+
91
+ # Metrics for external payload storage uploads (stores) performed while processing this
92
+ # activation. Only set when external storage stored payloads.
93
+ sig { params(value: T.nilable(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics)).void }
94
+ def payload_upload_metrics=(value)
95
+ end
96
+
97
+ # Metrics for external payload storage uploads (stores) performed while processing this
98
+ # activation. Only set when external storage stored payloads.
99
+ sig { void }
100
+ def clear_payload_upload_metrics
101
+ end
102
+
63
103
  sig { returns(T.nilable(Symbol)) }
64
104
  def status
65
105
  end
@@ -19,10 +19,12 @@ class Temporalio::Internal::Bridge::Runtime::Options < ::Struct
19
19
  sig do
20
20
  params(
21
21
  telemetry: Temporalio::Internal::Bridge::Runtime::TelemetryOptions,
22
- worker_heartbeat_interval: T.nilable(T.any(Integer, Float))
22
+ worker_heartbeat_interval: T.nilable(T.any(Integer, Float)),
23
+ disable_environment_info: T::Boolean,
24
+ runtime_version: T.nilable(String)
23
25
  ).void
24
26
  end
25
- def initialize(telemetry, worker_heartbeat_interval); end
27
+ def initialize(telemetry, worker_heartbeat_interval, disable_environment_info, runtime_version); end
26
28
 
27
29
  sig { returns(Temporalio::Internal::Bridge::Runtime::TelemetryOptions) }
28
30
  def telemetry; end
@@ -35,6 +37,18 @@ class Temporalio::Internal::Bridge::Runtime::Options < ::Struct
35
37
 
36
38
  sig { params(_: T.nilable(T.any(Integer, Float))).void }
37
39
  def worker_heartbeat_interval=(_); end
40
+
41
+ sig { returns(T::Boolean) }
42
+ def disable_environment_info; end
43
+
44
+ sig { params(_: T::Boolean).void }
45
+ def disable_environment_info=(_); end
46
+
47
+ sig { returns(T.nilable(String)) }
48
+ def runtime_version; end
49
+
50
+ sig { params(_: T.nilable(String)).void }
51
+ def runtime_version=(_); end
38
52
  end
39
53
 
40
54
  class Temporalio::Internal::Bridge::Runtime::TelemetryOptions < ::Struct
@@ -64,14 +78,20 @@ end
64
78
  class Temporalio::Internal::Bridge::Runtime::LoggingOptions < ::Struct
65
79
  extend T::Sig
66
80
 
67
- sig { params(log_filter: T.nilable(String)).void }
68
- def initialize(log_filter); end
81
+ sig { params(log_filter: T.nilable(String), log_format: T.nilable(String)).void }
82
+ def initialize(log_filter, log_format); end
69
83
 
70
84
  sig { returns(T.nilable(String)) }
71
85
  def log_filter; end
72
86
 
73
87
  sig { params(_: T.nilable(String)).void }
74
88
  def log_filter=(_); end
89
+
90
+ sig { returns(T.nilable(String)) }
91
+ def log_format; end
92
+
93
+ sig { params(_: T.nilable(String)).void }
94
+ def log_format=(_); end
75
95
  end
76
96
 
77
97
  class Temporalio::Internal::Bridge::Runtime::MetricsOptions < ::Struct
@@ -76,6 +76,7 @@ class Temporalio::Internal::Bridge::Worker::Options < ::Struct
76
76
  default_heartbeat_throttle_interval: T.any(Integer, Float),
77
77
  max_worker_activities_per_second: T.nilable(T.any(Integer, Float)),
78
78
  max_task_queue_activities_per_second: T.nilable(T.any(Integer, Float)),
79
+ max_eager_activity_reservations_per_workflow_task: Integer,
79
80
  graceful_shutdown_period: T.any(Integer, Float),
80
81
  nondeterminism_as_workflow_fail: T::Boolean,
81
82
  nondeterminism_as_workflow_fail_for_types: T::Array[String],
@@ -101,6 +102,7 @@ class Temporalio::Internal::Bridge::Worker::Options < ::Struct
101
102
  default_heartbeat_throttle_interval,
102
103
  max_worker_activities_per_second,
103
104
  max_task_queue_activities_per_second,
105
+ max_eager_activity_reservations_per_workflow_task,
104
106
  graceful_shutdown_period,
105
107
  nondeterminism_as_workflow_fail,
106
108
  nondeterminism_as_workflow_fail_for_types,
@@ -6,8 +6,8 @@ class Temporalio::Runtime
6
6
  sig { returns(Temporalio::Metric::Meter) }
7
7
  attr_reader :metric_meter
8
8
 
9
- sig { params(telemetry: Temporalio::Runtime::TelemetryOptions, worker_heartbeat_interval: T.nilable(Float)).void }
10
- def initialize(telemetry: T.unsafe(nil), worker_heartbeat_interval: T.unsafe(nil)); end
9
+ sig { params(telemetry: Temporalio::Runtime::TelemetryOptions, worker_heartbeat_interval: T.nilable(Float), disable_environment_info: T::Boolean).void }
10
+ def initialize(telemetry: T.unsafe(nil), worker_heartbeat_interval: T.unsafe(nil), disable_environment_info: T.unsafe(nil)); end
11
11
 
12
12
  class << self
13
13
  extend T::Sig
@@ -39,8 +39,17 @@ class Temporalio::Runtime::LoggingOptions < ::Data
39
39
  sig { returns(T.any(Temporalio::Runtime::LoggingFilterOptions, String)) }
40
40
  def log_filter; end
41
41
 
42
- sig { params(log_filter: T.any(Temporalio::Runtime::LoggingFilterOptions, String)).void }
43
- def initialize(log_filter: T.unsafe(nil)); end
42
+ sig { returns(T.nilable(Symbol)) }
43
+ def log_format; end
44
+
45
+ sig { params(log_filter: T.any(Temporalio::Runtime::LoggingFilterOptions, String), log_format: T.nilable(Symbol)).void }
46
+ def initialize(log_filter: T.unsafe(nil), log_format: T.unsafe(nil)); end
47
+ end
48
+
49
+ module Temporalio::Runtime::ConsoleLogFormat
50
+ COMPACT = T.let(T.unsafe(nil), Symbol)
51
+ JSON = T.let(T.unsafe(nil), Symbol)
52
+ PRETTY = T.let(T.unsafe(nil), Symbol)
44
53
  end
45
54
 
46
55
  class Temporalio::Runtime::LoggingFilterOptions < ::Data
@@ -1,7 +1,7 @@
1
1
  # typed: true
2
2
 
3
3
  class Temporalio::ScopedLogger < ::SimpleDelegator
4
- sig { params(obj: ::Logger).void }
4
+ sig { params(obj: Object).void }
5
5
  def initialize(obj); end
6
6
 
7
7
  sig { returns(T.nilable(Proc)) }
@@ -29,6 +29,7 @@ class Temporalio::Worker
29
29
  default_heartbeat_throttle_interval: Numeric,
30
30
  max_activities_per_second: T.nilable(Numeric),
31
31
  max_task_queue_activities_per_second: T.nilable(Numeric),
32
+ max_eager_activity_reservations_per_workflow_task: Integer,
32
33
  graceful_shutdown_period: Numeric,
33
34
  disable_eager_activity_execution: T::Boolean,
34
35
  illegal_workflow_calls: T::Hash[String, T.any(Symbol, T::Array[T.any(Symbol, Temporalio::Worker::IllegalWorkflowCallValidator)], Temporalio::Worker::IllegalWorkflowCallValidator)],
@@ -39,7 +40,8 @@ class Temporalio::Worker
39
40
  patch_activation_callback: T.nilable(T.proc.params(input: Temporalio::Worker::PatchActivationInput).returns(T::Boolean)),
40
41
  workflow_task_poller_behavior: Temporalio::Worker::PollerBehavior,
41
42
  activity_task_poller_behavior: Temporalio::Worker::PollerBehavior,
42
- debug_mode: T::Boolean
43
+ debug_mode: T::Boolean,
44
+ disable_payload_error_limit: T::Boolean
43
45
  ).void
44
46
  end
45
47
  def initialize(
@@ -64,6 +66,7 @@ class Temporalio::Worker
64
66
  default_heartbeat_throttle_interval: T.unsafe(nil),
65
67
  max_activities_per_second: T.unsafe(nil),
66
68
  max_task_queue_activities_per_second: T.unsafe(nil),
69
+ max_eager_activity_reservations_per_workflow_task: T.unsafe(nil),
67
70
  graceful_shutdown_period: T.unsafe(nil),
68
71
  disable_eager_activity_execution: T.unsafe(nil),
69
72
  illegal_workflow_calls: T.unsafe(nil),
@@ -74,7 +77,8 @@ class Temporalio::Worker
74
77
  patch_activation_callback: T.unsafe(nil),
75
78
  workflow_task_poller_behavior: T.unsafe(nil),
76
79
  activity_task_poller_behavior: T.unsafe(nil),
77
- debug_mode: T.unsafe(nil)
80
+ debug_mode: T.unsafe(nil),
81
+ disable_payload_error_limit: T.unsafe(nil)
78
82
  ); end
79
83
 
80
84
  sig { returns(String) }
@@ -220,6 +224,9 @@ class Temporalio::Worker::Options < ::Data
220
224
  sig { returns(T.nilable(Numeric)) }
221
225
  def max_task_queue_activities_per_second; end
222
226
 
227
+ sig { returns(Integer) }
228
+ def max_eager_activity_reservations_per_workflow_task; end
229
+
223
230
  sig { returns(Numeric) }
224
231
  def graceful_shutdown_period; end
225
232
 
@@ -13,7 +13,7 @@ class Temporalio::Workflow::Future
13
13
  attr_reader :failure
14
14
 
15
15
  sig { params(block: T.nilable(T.proc.returns(Elem))).void }
16
- def initialize(&); end
16
+ def initialize(&block); end
17
17
 
18
18
  sig { returns(T::Boolean) }
19
19
  def done?; end
@@ -22,6 +22,13 @@ module Temporalio
22
22
  def has_failure?: () -> bool
23
23
  def clear_failure: () -> void
24
24
 
25
+ # The retry state associated with an unsuccessful activity execution.
26
+ # This field is only meaningful when `failure` is set.
27
+ attr_reader retry_state(): ::Temporalio::Api::Enums::V1::RetryState::names | ::Integer
28
+ attr_writer retry_state(): ::Temporalio::Api::Enums::V1::RetryState::names | ::Temporalio::Api::Enums::V1::RetryState::strings | ::Integer | ::Float
29
+ attr_reader retry_state_const(): ::Integer
30
+ def clear_retry_state: () -> void
31
+
25
32
  attr_reader value(): (::Temporalio::Api::Common::V1::Payloads | ::Temporalio::Api::Failure::V1::Failure)?
26
33
  def has_value?: () -> bool
27
34
  def clear_value: () -> void
@@ -31,6 +38,8 @@ module Temporalio
31
38
  "result" => (::Temporalio::Api::Common::V1::Payloads | ::Temporalio::Api::Common::V1::Payloads::init_map)?,
32
39
  failure: (::Temporalio::Api::Failure::V1::Failure | ::Temporalio::Api::Failure::V1::Failure::init_map)?,
33
40
  "failure" => (::Temporalio::Api::Failure::V1::Failure | ::Temporalio::Api::Failure::V1::Failure::init_map)?,
41
+ retry_state: (::Temporalio::Api::Enums::V1::RetryState::names | ::Temporalio::Api::Enums::V1::RetryState::strings | ::Integer | ::Float)?,
42
+ "retry_state" => (::Temporalio::Api::Enums::V1::RetryState::names | ::Temporalio::Api::Enums::V1::RetryState::strings | ::Integer | ::Float)?,
34
43
  }
35
44
 
36
45
  def initialize: (?init_map initial_value) -> void
@@ -38,10 +47,12 @@ module Temporalio
38
47
  def []:
39
48
  ("result" name) -> ::Temporalio::Api::Common::V1::Payloads?
40
49
  | ("failure" name) -> ::Temporalio::Api::Failure::V1::Failure?
50
+ | ("retry_state" name) -> (::Temporalio::Api::Enums::V1::RetryState::names | ::Integer)
41
51
 
42
52
  def []=:
43
53
  ("result" name, ::Temporalio::Api::Common::V1::Payloads? value) -> void
44
54
  | ("failure" name, ::Temporalio::Api::Failure::V1::Failure? value) -> void
55
+ | ("retry_state" name, (::Temporalio::Api::Enums::V1::RetryState::names | ::Temporalio::Api::Enums::V1::RetryState::strings | ::Integer | ::Float) value) -> void
45
56
  end
46
57
 
47
58
  class ActivityOptions < ::Google::Protobuf::AbstractMessage
@@ -97,6 +108,14 @@ module Temporalio
97
108
  def has_priority?: () -> bool
98
109
  def clear_priority: () -> void
99
110
 
111
+ # Time to wait before making the first activity task available for dispatch. This delay is not applied to retry attempts.
112
+ # When updated, the time is added to the original `schedule_time`, not to the current time.
113
+ # If the resulting time is in the past, the task is made available for dispatch immediately.
114
+ attr_reader start_delay(): ::Google::Protobuf::Duration?
115
+ attr_writer start_delay(): (::Google::Protobuf::Duration | ::int)?
116
+ def has_start_delay?: () -> bool
117
+ def clear_start_delay: () -> void
118
+
100
119
  type init_map = {
101
120
  task_queue: (::Temporalio::Api::TaskQueue::V1::TaskQueue | ::Temporalio::Api::TaskQueue::V1::TaskQueue::init_map)?,
102
121
  "task_queue" => (::Temporalio::Api::TaskQueue::V1::TaskQueue | ::Temporalio::Api::TaskQueue::V1::TaskQueue::init_map)?,
@@ -112,6 +131,8 @@ module Temporalio
112
131
  "retry_policy" => (::Temporalio::Api::Common::V1::RetryPolicy | ::Temporalio::Api::Common::V1::RetryPolicy::init_map)?,
113
132
  priority: (::Temporalio::Api::Common::V1::Priority | ::Temporalio::Api::Common::V1::Priority::init_map)?,
114
133
  "priority" => (::Temporalio::Api::Common::V1::Priority | ::Temporalio::Api::Common::V1::Priority::init_map)?,
134
+ start_delay: (::Google::Protobuf::Duration | ::Google::Protobuf::Duration)?,
135
+ "start_delay" => (::Google::Protobuf::Duration | ::Google::Protobuf::Duration)?,
115
136
  }
116
137
 
117
138
  def initialize: (?init_map initial_value) -> void
@@ -124,6 +145,7 @@ module Temporalio
124
145
  | ("heartbeat_timeout" name) -> ::Google::Protobuf::Duration?
125
146
  | ("retry_policy" name) -> ::Temporalio::Api::Common::V1::RetryPolicy?
126
147
  | ("priority" name) -> ::Temporalio::Api::Common::V1::Priority?
148
+ | ("start_delay" name) -> ::Google::Protobuf::Duration?
127
149
 
128
150
  def []=:
129
151
  ("task_queue" name, ::Temporalio::Api::TaskQueue::V1::TaskQueue? value) -> void
@@ -133,6 +155,7 @@ module Temporalio
133
155
  | ("heartbeat_timeout" name, ((::Google::Protobuf::Duration | ::int)?) value) -> void
134
156
  | ("retry_policy" name, ::Temporalio::Api::Common::V1::RetryPolicy? value) -> void
135
157
  | ("priority" name, ::Temporalio::Api::Common::V1::Priority? value) -> void
158
+ | ("start_delay" name, ((::Google::Protobuf::Duration | ::int)?) value) -> void
136
159
  end
137
160
 
138
161
  # Information about a standalone activity.
@@ -242,7 +265,8 @@ module Temporalio
242
265
  def has_schedule_time?: () -> bool
243
266
  def clear_schedule_time: () -> void
244
267
 
245
- # Scheduled time + schedule to close timeout.
268
+ # The time at which the activity's Schedule-to-Close timeout expires.
269
+ # Calculated as `schedule_time` + `start_delay` + `schedule_to_close_timeout`.
246
270
  attr_reader expiration_time(): ::Google::Protobuf::Timestamp?
247
271
  attr_writer expiration_time(): (::Google::Protobuf::Timestamp | ::Time)?
248
272
  def has_expiration_time?: () -> bool
@@ -348,12 +372,19 @@ module Temporalio
348
372
  attr_writer sdk_version(): ::String | ::Symbol
349
373
  def clear_sdk_version: () -> void
350
374
 
351
- # Time to wait before dispatching the first activity task. This delay is not applied to retry attempts.
375
+ # Time to wait before making the first activity task available for dispatch. This delay is not applied to retry attempts.
352
376
  attr_reader start_delay(): ::Google::Protobuf::Duration?
353
377
  attr_writer start_delay(): (::Google::Protobuf::Duration | ::int)?
354
378
  def has_start_delay?: () -> bool
355
379
  def clear_start_delay: () -> void
356
380
 
381
+ # The time at which the first activity task is made available for dispatch, computed as
382
+ # `schedule_time + start_delay`. Same as `schedule_time` if `start_delay` is not set.
383
+ attr_reader execution_time(): ::Google::Protobuf::Timestamp?
384
+ attr_writer execution_time(): (::Google::Protobuf::Timestamp | ::Time)?
385
+ def has_execution_time?: () -> bool
386
+ def clear_execution_time: () -> void
387
+
357
388
  type init_map = {
358
389
  activity_id: (::String | ::Symbol)?,
359
390
  "activity_id" => (::String | ::Symbol)?,
@@ -429,6 +460,8 @@ module Temporalio
429
460
  "sdk_version" => (::String | ::Symbol)?,
430
461
  start_delay: (::Google::Protobuf::Duration | ::Google::Protobuf::Duration)?,
431
462
  "start_delay" => (::Google::Protobuf::Duration | ::Google::Protobuf::Duration)?,
463
+ execution_time: (::Google::Protobuf::Timestamp | ::Google::Protobuf::Timestamp)?,
464
+ "execution_time" => (::Google::Protobuf::Timestamp | ::Google::Protobuf::Timestamp)?,
432
465
  }
433
466
 
434
467
  def initialize: (?init_map initial_value) -> void
@@ -471,6 +504,7 @@ module Temporalio
471
504
  | ("sdk_name" name) -> ::String
472
505
  | ("sdk_version" name) -> ::String
473
506
  | ("start_delay" name) -> ::Google::Protobuf::Duration?
507
+ | ("execution_time" name) -> ::Google::Protobuf::Timestamp?
474
508
 
475
509
  def []=:
476
510
  ("activity_id" name, (::String | ::Symbol) value) -> void
@@ -510,6 +544,7 @@ module Temporalio
510
544
  | ("sdk_name" name, (::String | ::Symbol) value) -> void
511
545
  | ("sdk_version" name, (::String | ::Symbol) value) -> void
512
546
  | ("start_delay" name, ((::Google::Protobuf::Duration | ::int)?) value) -> void
547
+ | ("execution_time" name, ((::Google::Protobuf::Timestamp | ::Time)?) value) -> void
513
548
  end
514
549
 
515
550
  # Limited activity information returned in the list response.
@@ -578,6 +613,13 @@ module Temporalio
578
613
  def has_execution_duration?: () -> bool
579
614
  def clear_execution_duration: () -> void
580
615
 
616
+ # The time at which the first activity task is made available for dispatch, computed as
617
+ # `schedule_time + start_delay`. Same as `schedule_time` if `start_delay` is not set.
618
+ attr_reader execution_time(): ::Google::Protobuf::Timestamp?
619
+ attr_writer execution_time(): (::Google::Protobuf::Timestamp | ::Time)?
620
+ def has_execution_time?: () -> bool
621
+ def clear_execution_time: () -> void
622
+
581
623
  type init_map = {
582
624
  activity_id: (::String | ::Symbol)?,
583
625
  "activity_id" => (::String | ::Symbol)?,
@@ -601,6 +643,8 @@ module Temporalio
601
643
  "state_size_bytes" => (::Integer | ::Float)?,
602
644
  execution_duration: (::Google::Protobuf::Duration | ::Google::Protobuf::Duration)?,
603
645
  "execution_duration" => (::Google::Protobuf::Duration | ::Google::Protobuf::Duration)?,
646
+ execution_time: (::Google::Protobuf::Timestamp | ::Google::Protobuf::Timestamp)?,
647
+ "execution_time" => (::Google::Protobuf::Timestamp | ::Google::Protobuf::Timestamp)?,
604
648
  }
605
649
 
606
650
  def initialize: (?init_map initial_value) -> void
@@ -617,6 +661,7 @@ module Temporalio
617
661
  | ("state_transition_count" name) -> ::Integer
618
662
  | ("state_size_bytes" name) -> ::Integer
619
663
  | ("execution_duration" name) -> ::Google::Protobuf::Duration?
664
+ | ("execution_time" name) -> ::Google::Protobuf::Timestamp?
620
665
 
621
666
  def []=:
622
667
  ("activity_id" name, (::String | ::Symbol) value) -> void
@@ -630,6 +675,7 @@ module Temporalio
630
675
  | ("state_transition_count" name, (::Integer | ::Float) value) -> void
631
676
  | ("state_size_bytes" name, (::Integer | ::Float) value) -> void
632
677
  | ("execution_duration" name, ((::Google::Protobuf::Duration | ::int)?) value) -> void
678
+ | ("execution_time" name, ((::Google::Protobuf::Timestamp | ::Time)?) value) -> void
633
679
  end
634
680
 
635
681
  # CallbackInfo contains the state of an attached activity callback.