temporalio 1.9.0-aarch64-linux → 1.10.0-aarch64-linux

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 (136) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +28 -0
  3. data/lib/temporalio/api/activity/v1/message.rb +2 -1
  4. data/lib/temporalio/api/callback/v1/message.rb +1 -1
  5. data/lib/temporalio/api/common/v1/message.rb +3 -1
  6. data/lib/temporalio/api/compute/v1/config.rb +1 -1
  7. data/lib/temporalio/api/enums/v1/common.rb +1 -1
  8. data/lib/temporalio/api/enums/v1/failed_cause.rb +2 -1
  9. data/lib/temporalio/api/export/v1/message.rb +4 -1
  10. data/lib/temporalio/api/history/v1/message.rb +2 -1
  11. data/lib/temporalio/api/nexus/v1/message.rb +2 -1
  12. data/lib/temporalio/api/nexusoperation/v1/message.rb +26 -0
  13. data/lib/temporalio/api/notificationservice/v1/request_response.rb +25 -0
  14. data/lib/temporalio/api/payload_visitor.rb +54 -0
  15. data/lib/temporalio/api/replication/v1/message.rb +2 -1
  16. data/lib/temporalio/api/update/v1/message.rb +2 -1
  17. data/lib/temporalio/api/worker/v1/message.rb +1 -1
  18. data/lib/temporalio/api/workflow/v1/message.rb +2 -1
  19. data/lib/temporalio/api/workflowservice/v1/request_response.rb +2 -1
  20. data/lib/temporalio/client/schedule.rb +8 -7
  21. data/lib/temporalio/client/with_start_workflow_operation.rb +1 -1
  22. data/lib/temporalio/client.rb +4 -4
  23. data/lib/temporalio/converters/external_storage.rb +90 -0
  24. data/lib/temporalio/converters/external_storage_concurrency.rb +52 -0
  25. data/lib/temporalio/converters/storage_driver.rb +56 -0
  26. data/lib/temporalio/converters/storage_driver_activity_info.rb +38 -0
  27. data/lib/temporalio/converters/storage_driver_claim.rb +30 -0
  28. data/lib/temporalio/converters/storage_driver_limiter.rb +37 -0
  29. data/lib/temporalio/converters/storage_driver_retrieve_context.rb +30 -0
  30. data/lib/temporalio/converters/storage_driver_select_context.rb +26 -0
  31. data/lib/temporalio/converters/storage_driver_store_context.rb +31 -0
  32. data/lib/temporalio/converters/storage_driver_workflow_info.rb +40 -0
  33. data/lib/temporalio/converters.rb +11 -0
  34. data/lib/temporalio/error/failure.rb +16 -0
  35. data/lib/temporalio/error.rb +17 -0
  36. data/lib/temporalio/internal/bridge/3.3/temporalio_bridge.so +2 -2
  37. data/lib/temporalio/internal/bridge/3.4/temporalio_bridge.so +2 -2
  38. data/lib/temporalio/internal/bridge/4.0/temporalio_bridge.so +2 -2
  39. data/lib/temporalio/internal/bridge/api/activity_result/activity_result.rb +2 -1
  40. data/lib/temporalio/internal/bridge/api/child_workflow/child_workflow.rb +1 -1
  41. data/lib/temporalio/internal/bridge/api/external_data/external_data.rb +1 -1
  42. data/lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb +2 -1
  43. data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +3 -1
  44. data/lib/temporalio/internal/external_storage_references.rb +62 -0
  45. data/lib/temporalio/internal/worker/workflow_instance/context.rb +2 -0
  46. data/lib/temporalio/internal/worker/workflow_instance/outbound_implementation.rb +21 -3
  47. data/lib/temporalio/testing/activity_environment.rb +1 -1
  48. data/lib/temporalio/testing/workflow_environment.rb +4 -4
  49. data/lib/temporalio/version.rb +1 -1
  50. data/lib/temporalio/versioning_override.rb +28 -1
  51. data/lib/temporalio/worker/interceptor.rb +1 -0
  52. data/lib/temporalio/workflow.rb +14 -4
  53. data/rbi/temporalio/api/activity/v1/message.rbi +39 -2
  54. data/rbi/temporalio/api/callback/v1/message.rbi +22 -2
  55. data/rbi/temporalio/api/common/v1/message.rbi +294 -4
  56. data/rbi/temporalio/api/compute/v1/config.rbi +39 -5
  57. data/rbi/temporalio/api/enums/v1/common.rbi +1 -0
  58. data/rbi/temporalio/api/enums/v1/failed_cause.rbi +20 -0
  59. data/rbi/temporalio/api/export/v1/message.rbi +136 -2
  60. data/rbi/temporalio/api/history/v1/message.rbi +38 -4
  61. data/rbi/temporalio/api/nexus/v1/message.rbi +88 -0
  62. data/rbi/temporalio/api/nexusoperation/v1/message.rbi +287 -0
  63. data/rbi/temporalio/api/notificationservice/v1/request_response.rbi +151 -0
  64. data/rbi/temporalio/api/payload_visitor.rbi +21 -0
  65. data/rbi/temporalio/api/replication/v1/message.rbi +22 -2
  66. data/rbi/temporalio/api/update/v1/message.rbi +19 -2
  67. data/rbi/temporalio/api/worker/v1/message.rbi +2 -0
  68. data/rbi/temporalio/api/workflow/v1/message.rbi +41 -4
  69. data/rbi/temporalio/api/workflowservice/v1/request_response.rbi +294 -20
  70. data/rbi/temporalio/api/workflowservice/v1/service_services.rbi +0 -13
  71. data/rbi/temporalio/client/schedule.rbi +2 -2
  72. data/rbi/temporalio/converters/external_storage.rbi +49 -0
  73. data/rbi/temporalio/converters/external_storage_concurrency.rbi +26 -0
  74. data/rbi/temporalio/converters/storage_driver.rbi +27 -0
  75. data/rbi/temporalio/converters/storage_driver_activity_info.rbi +36 -0
  76. data/rbi/temporalio/converters/storage_driver_claim.rbi +20 -0
  77. data/rbi/temporalio/converters/storage_driver_limiter.rbi +13 -0
  78. data/rbi/temporalio/converters/storage_driver_retrieve_context.rbi +23 -0
  79. data/rbi/temporalio/converters/storage_driver_select_context.rbi +42 -0
  80. data/rbi/temporalio/converters/storage_driver_store_context.rbi +46 -0
  81. data/rbi/temporalio/converters/storage_driver_workflow_info.rbi +36 -0
  82. data/rbi/temporalio/error.rbi +17 -0
  83. data/rbi/temporalio/internal/bridge/api/activity_result/activity_result.rbi +41 -2
  84. data/rbi/temporalio/internal/bridge/api/child_workflow/child_workflow.rbi +2 -0
  85. data/rbi/temporalio/internal/bridge/api/external_data/external_data.rbi +29 -2
  86. data/rbi/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rbi +88 -14
  87. data/rbi/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rbi +91 -6
  88. data/rbi/temporalio/internal/external_storage_references.rbi +26 -0
  89. data/rbi/temporalio/internal/worker/workflow_instance/context.rbi +2 -0
  90. data/rbi/temporalio/versioning_override.rbi +8 -0
  91. data/rbi/temporalio/worker/interceptor.rbi +3 -0
  92. data/rbi/temporalio/workflow.rbi +4 -0
  93. data/sig/temporalio/api/activity/v1/message.rbs +18 -0
  94. data/sig/temporalio/api/callback/v1/message.rbs +10 -0
  95. data/sig/temporalio/api/common/v1/message.rbs +133 -4
  96. data/sig/temporalio/api/compute/v1/config.rbs +17 -1
  97. data/sig/temporalio/api/enums/v1/common.rbs +7 -4
  98. data/sig/temporalio/api/enums/v1/failed_cause.rbs +42 -5
  99. data/sig/temporalio/api/export/v1/message.rbs +50 -2
  100. data/sig/temporalio/api/history/v1/message.rbs +19 -0
  101. data/sig/temporalio/api/nexus/v1/message.rbs +37 -0
  102. data/sig/temporalio/api/nexusoperation/v1/message.rbs +125 -0
  103. data/sig/temporalio/api/notificationservice/v1/request_response.rbs +81 -0
  104. data/sig/temporalio/api/payload_visitor.rbs +7 -0
  105. data/sig/temporalio/api/replication/v1/message.rbs +11 -0
  106. data/sig/temporalio/api/update/v1/message.rbs +9 -0
  107. data/sig/temporalio/api/worker/v1/message.rbs +9 -3
  108. data/sig/temporalio/api/workflow/v1/message.rbs +19 -0
  109. data/sig/temporalio/api/workflowservice/v1/request_response.rbs +136 -0
  110. data/sig/temporalio/client/schedule.rbs +3 -2
  111. data/sig/temporalio/converters/external_storage.rbs +25 -0
  112. data/sig/temporalio/converters/external_storage_concurrency.rbs +16 -0
  113. data/sig/temporalio/converters/storage_driver.rbs +16 -0
  114. data/sig/temporalio/converters/storage_driver_activity_info.rbs +17 -0
  115. data/sig/temporalio/converters/storage_driver_claim.rbs +9 -0
  116. data/sig/temporalio/converters/storage_driver_limiter.rbs +7 -0
  117. data/sig/temporalio/converters/storage_driver_retrieve_context.rbs +13 -0
  118. data/sig/temporalio/converters/storage_driver_select_context.rbs +13 -0
  119. data/sig/temporalio/converters/storage_driver_store_context.rbs +15 -0
  120. data/sig/temporalio/converters/storage_driver_target_info.rbs +5 -0
  121. data/sig/temporalio/converters/storage_driver_workflow_info.rbs +17 -0
  122. data/sig/temporalio/error/failure.rbs +8 -0
  123. data/sig/temporalio/error.rbs +4 -0
  124. data/sig/temporalio/internal/bridge/api/activity_result/activity_result.rbs +46 -0
  125. data/sig/temporalio/internal/bridge/api/child_workflow/child_workflow.rbs +7 -3
  126. data/sig/temporalio/internal/bridge/api/external_data/external_data.rbs +16 -0
  127. data/sig/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rbs +42 -2
  128. data/sig/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rbs +42 -0
  129. data/sig/temporalio/internal/external_storage_references.rbs +18 -0
  130. data/sig/temporalio/internal/worker/workflow_instance/context.rbs +1 -0
  131. data/sig/temporalio/testing/activity_environment.rbs +1 -1
  132. data/sig/temporalio/versioning_override.rbs +7 -0
  133. data/sig/temporalio/worker/interceptor.rbs +2 -0
  134. data/sig/temporalio/workflow.rbs +2 -0
  135. data/temporalio.gemspec +1 -0
  136. metadata +56 -2
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'temporalio/api'
4
+ require 'temporalio/api/sdk/v1/external_storage'
5
+
6
+ module Temporalio
7
+ module Internal
8
+ # The on-the-wire form of a payload that has been offloaded to external storage.
9
+ #
10
+ # An offloaded payload is replaced by one whose data is the proto-JSON form of an
11
+ # +ExternalStorageReference+. This shape is part of the wire contract and must not be changed unilaterally.
12
+ #
13
+ # @!visibility private
14
+ module ExternalStorageReferences
15
+ ENCODING = 'json/protobuf'
16
+ MESSAGE_TYPE = 'temporal.api.sdk.v1.ExternalStorageReference'
17
+
18
+ class << self
19
+ # @param payload [Api::Common::V1::Payload] Payload to check.
20
+ # @return [Boolean] Whether the payload is a reference to externally stored data.
21
+ def reference?(payload)
22
+ payload.metadata['encoding'] == ENCODING && payload.metadata['messageType'] == MESSAGE_TYPE
23
+ end
24
+
25
+ # @param payload [Api::Common::V1::Payload] Payload to parse.
26
+ # @return [Api::Sdk::V1::ExternalStorageReference, nil] Parsed reference, or nil if not a reference.
27
+ #
28
+ # TODO: Surface parse failures as a Temporal error instead of Google::Protobuf::ParseError. The runner is the
29
+ # right layer for it, since only the caller knows which payload failed; a malformed reference cannot name its
30
+ # own driver.
31
+ def parse_reference(payload)
32
+ return nil unless reference?(payload)
33
+
34
+ # Another SDK may add fields to the reference before this one knows about them, and an unknown field must
35
+ # not make an otherwise-valid payload unreadable.
36
+ Api::Sdk::V1::ExternalStorageReference.decode_json(
37
+ payload.data, ignore_unknown_fields: true
38
+ )
39
+ end
40
+
41
+ # @param driver_name [String] Name of the driver that stored the payload.
42
+ # @param claim_data [Hash<String, String>] Driver data identifying the stored payload.
43
+ # @param original_size_bytes [Integer] Encoded size of the payload that was offloaded.
44
+ # @return [Api::Common::V1::Payload] Reference payload that replaces the offloaded payload on the wire.
45
+ def create_reference_payload(driver_name:, claim_data:, original_size_bytes:)
46
+ reference = Api::Sdk::V1::ExternalStorageReference.new(
47
+ driver_name:, claim_data: claim_data.to_h
48
+ )
49
+ Api::Common::V1::Payload.new(
50
+ metadata: { 'encoding' => ENCODING.b, 'messageType' => MESSAGE_TYPE.b },
51
+ data: reference.to_json.b,
52
+ # The original size is kept so the server and UI can report what the payload would have been without
53
+ # having to fetch it from storage.
54
+ external_payloads: [
55
+ Api::Common::V1::Payload::ExternalPayloadDetails.new(size_bytes: original_size_bytes)
56
+ ]
57
+ )
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -298,6 +298,7 @@ module Temporalio
298
298
  memo:,
299
299
  search_attributes:,
300
300
  priority:,
301
+ versioning_override:,
301
302
  arg_hints:,
302
303
  result_hint:
303
304
  )
@@ -323,6 +324,7 @@ module Temporalio
323
324
  memo:,
324
325
  search_attributes:,
325
326
  priority:,
327
+ versioning_override:,
326
328
  arg_hints: arg_hints || defn_arg_hints,
327
329
  result_hint: result_hint || defn_result_hint,
328
330
  headers: {}
@@ -367,7 +367,8 @@ module Temporalio
367
367
  memo: ProtoUtils.memo_to_proto_hash(input.memo, @instance.payload_converter),
368
368
  search_attributes: input.search_attributes&._to_proto,
369
369
  cancellation_type: input.cancellation_type,
370
- priority: input.priority._to_proto
370
+ priority: input.priority._to_proto,
371
+ versioning_override: input.versioning_override&._to_proto
371
372
  ),
372
373
  user_metadata: ProtoUtils.to_user_metadata(
373
374
  input.static_summary, input.static_details, @instance.payload_converter
@@ -415,14 +416,31 @@ module Temporalio
415
416
  when :failed
416
417
  # Remove cancel callback and handle failure
417
418
  input.cancellation.remove_cancel_callback(cancel_callback_key)
418
- if resolution.failed.cause == :START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_WORKFLOW_ALREADY_EXISTS
419
+ case resolution.failed.cause
420
+ when :START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_WORKFLOW_ALREADY_EXISTS
419
421
  raise Error::WorkflowAlreadyStartedError.new(
420
422
  workflow_id: resolution.failed.workflow_id,
421
423
  workflow_type: resolution.failed.workflow_type,
422
424
  run_id: nil
423
425
  )
426
+ when :START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_INVALID_VERSIONING_OVERRIDE
427
+ cause = Error::InvalidVersioningOverrideError.new
428
+ when :START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND
429
+ cause = Error::NamespaceNotFoundError.new
430
+ else
431
+ raise "Unknown child start fail cause: #{resolution.failed.cause}"
424
432
  end
425
- raise "Unknown child start fail cause: #{resolution.failed.cause}"
433
+ # Core does not supply event IDs or a run ID when the child never started.
434
+ raise Error::ChildWorkflowError.new(
435
+ 'Child workflow failed to start',
436
+ namespace: @instance.info.namespace,
437
+ workflow_id: resolution.failed.workflow_id,
438
+ run_id: '',
439
+ workflow_type: resolution.failed.workflow_type,
440
+ initiated_event_id: 0,
441
+ started_event_id: 0,
442
+ retry_state: nil
443
+ ), cause: cause
426
444
  when :cancelled
427
445
  # Remove cancel callback and handle cancel
428
446
  input.cancellation.remove_cancel_callback(cancel_callback_key)
@@ -152,7 +152,7 @@ module Temporalio
152
152
  end
153
153
 
154
154
  # @!visibility private
155
- def heartbeat(*details)
155
+ def heartbeat(*details, detail_hints: nil) # rubocop:disable Lint/UnusedMethodArgument
156
156
  @on_heartbeat&.call(details)
157
157
  end
158
158
 
@@ -23,8 +23,8 @@ module Temporalio
23
23
 
24
24
  # Start a local dev server. This is a full Temporal dev server from the CLI that by default downloaded to tmp if
25
25
  # not already present. The dev server is run as a child process. All options that start with +dev_server_+ are for
26
- # this specific implementation and therefore are not stable and may be changed as the underlying implementation
27
- # changes.
26
+ # this specific implementation. If that implementation changes, these options and their values may no longer be
27
+ # valid.
28
28
  #
29
29
  # If a block is given it is passed the environment and the environment is shut down after. If a block is not
30
30
  # given, the environment is returned and {shutdown} needs to be called manually.
@@ -124,8 +124,8 @@ module Temporalio
124
124
 
125
125
  # Start a time-skipping test server. This server can skip time but may not have all of the Temporal features of
126
126
  # the {start_local} form. By default, the server is downloaded to tmp if not already present. The test server is
127
- # run as a child process. All options that start with +test_server_+ are for this specific implementation and
128
- # therefore are not stable and may be changed as the underlying implementation changes.
127
+ # run as a child process. All options that start with +test_server_+ are for this specific implementation. If that
128
+ # implementation changes, these options and their values may no longer be valid.
129
129
  #
130
130
  # If a block is given it is passed the environment and the environment is shut down after. If a block is not
131
131
  # given, the environment is returned and {shutdown} needs to be called manually.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Temporalio
4
- VERSION = '1.9.0'
4
+ VERSION = '1.10.0'
5
5
  end
@@ -3,7 +3,7 @@
3
3
  require 'temporalio/worker_deployment_version'
4
4
 
5
5
  module Temporalio
6
- # Base class for version overrides that can be provided in start workflow options.
6
+ # Base class for version overrides that can be provided when starting workflows, including child workflows.
7
7
  # Used to control the versioning behavior of workflows started with this override.
8
8
  class VersioningOverride
9
9
  # @!visibility private
@@ -50,5 +50,32 @@ module Temporalio
50
50
  )
51
51
  end
52
52
  end
53
+
54
+ # Routes workflow tasks to a target deployment version until a task completes there, then clears the override.
55
+ # Subsequent tasks follow the workflow's normal versioning behavior.
56
+ #
57
+ # Requires Temporal Server 1.32.0 or later.
58
+ # WARNING: This override is experimental.
59
+ class OneTime < VersioningOverride
60
+ # @return [WorkerDeploymentVersion] Target worker deployment version.
61
+ attr_reader :target_version
62
+
63
+ # Create a one-time versioning override.
64
+ #
65
+ # @param target_version [WorkerDeploymentVersion] Target worker deployment version.
66
+ def initialize(target_version)
67
+ @target_version = target_version
68
+ super()
69
+ end
70
+
71
+ # @!visibility private
72
+ def _to_proto
73
+ Api::Workflow::V1::VersioningOverride.new(
74
+ one_time: Api::Workflow::V1::VersioningOverride::OneTimeOverride.new(
75
+ target_deployment_version: @target_version._to_proto
76
+ )
77
+ )
78
+ end
79
+ end
53
80
  end
54
81
  end
@@ -295,6 +295,7 @@ module Temporalio
295
295
  :memo,
296
296
  :search_attributes,
297
297
  :priority,
298
+ :versioning_override,
298
299
  :arg_hints,
299
300
  :result_hint,
300
301
  :headers
@@ -4,6 +4,7 @@ require 'random/formatter'
4
4
  require 'temporalio/error'
5
5
  require 'temporalio/internal/worker/workflow_instance'
6
6
  require 'temporalio/priority'
7
+ require 'temporalio/versioning_override'
7
8
  require 'temporalio/workflow/activity_cancellation_type'
8
9
  require 'temporalio/workflow/child_workflow_cancellation_type'
9
10
  require 'temporalio/workflow/child_workflow_handle'
@@ -158,7 +159,7 @@ module Temporalio
158
159
  # optimization on some servers that sends activities back to the same worker as the calling workflow if they can
159
160
  # run there. If `false` (the default), eager execution may still be disabled at the worker level or may not be
160
161
  # requested due to lack of available slots.
161
- # @param priority [Priority] Priority of the activity. This is currently experimental.
162
+ # @param priority [Priority] Priority of the activity.
162
163
  # @param arg_hints [Array<Object>, nil] Overrides converter hints for arguments if any. If unset/nil and the
163
164
  # activity definition has arg hints, those are used by default.
164
165
  # @param result_hint [Object, nil] Overrides converter hint for result if any. If unset/nil and the activity
@@ -214,6 +215,7 @@ module Temporalio
214
215
  memo: nil,
215
216
  search_attributes: nil,
216
217
  priority: Priority.default,
218
+ versioning_override: nil,
217
219
  arg_hints: nil,
218
220
  result_hint: nil
219
221
  )
@@ -221,7 +223,8 @@ module Temporalio
221
223
  workflow, *args,
222
224
  id:, task_queue:, static_summary:, static_details:, cancellation:, cancellation_type:,
223
225
  parent_close_policy:, execution_timeout:, run_timeout:, task_timeout:, id_reuse_policy:,
224
- retry_policy:, cron_schedule:, memo:, search_attributes:, priority:, arg_hints:, result_hint:
226
+ retry_policy:, cron_schedule:, memo:, search_attributes:, priority:, versioning_override:,
227
+ arg_hints:, result_hint:
225
228
  ).result
226
229
  end
227
230
 
@@ -424,7 +427,10 @@ module Temporalio
424
427
  # @param cron_schedule [String, nil] Cron schedule. Users should use schedules instead of this.
425
428
  # @param memo [Hash{String, Symbol => Object}, nil] Memo for the workflow.
426
429
  # @param search_attributes [SearchAttributes, nil] Search attributes for the workflow.
427
- # @param priority [Priority] Priority of the workflow. This is currently experimental.
430
+ # @param priority [Priority] Priority of the workflow.
431
+ # @param versioning_override [VersioningOverride, nil] Override the child's versioning independently of its parent.
432
+ # If unset, normal versioning inheritance applies. Requires Temporal Server 1.32.0 or later.
433
+ # WARNING: This option is experimental.
428
434
  # @param arg_hints [Array<Object>, nil] Overrides converter hints for arguments if any. If unset/nil and the
429
435
  # workflow definition has arg hints, those are used by default.
430
436
  # @param result_hint [Object, nil] Overrides converter hint for result if any. If unset/nil and the workflow
@@ -432,6 +438,8 @@ module Temporalio
432
438
  #
433
439
  # @return [ChildWorkflowHandle] Workflow handle to the started workflow.
434
440
  # @raise [Error::WorkflowAlreadyStartedError] Workflow already exists for the ID.
441
+ # @raise [Error::ChildWorkflowError] Child could not start. The cause is {Error::InvalidVersioningOverrideError}
442
+ # for an invalid versioning override or {Error::NamespaceNotFoundError} for a missing namespace.
435
443
  # @raise [Error::CanceledError] Starting of the child was canceled.
436
444
  def self.start_child_workflow(
437
445
  workflow,
@@ -452,6 +460,7 @@ module Temporalio
452
460
  memo: nil,
453
461
  search_attributes: nil,
454
462
  priority: Priority.default,
463
+ versioning_override: nil,
455
464
  arg_hints: nil,
456
465
  result_hint: nil
457
466
  )
@@ -459,7 +468,8 @@ module Temporalio
459
468
  workflow, *args,
460
469
  id:, task_queue:, static_summary:, static_details:, cancellation:, cancellation_type:,
461
470
  parent_close_policy:, execution_timeout:, run_timeout:, task_timeout:, id_reuse_policy:,
462
- retry_policy:, cron_schedule:, memo:, search_attributes:, priority:, arg_hints:, result_hint:
471
+ retry_policy:, cron_schedule:, memo:, search_attributes:, priority:, versioning_override:,
472
+ arg_hints:, result_hint:
463
473
  )
464
474
  end
465
475
 
@@ -382,7 +382,9 @@ class Temporalio::Api::Activity::V1::ActivityExecutionInfo
382
382
  sdk_name: T.nilable(String),
383
383
  sdk_version: T.nilable(String),
384
384
  start_delay: T.nilable(Google::Protobuf::Duration),
385
- execution_time: T.nilable(Google::Protobuf::Timestamp)
385
+ execution_time: T.nilable(Google::Protobuf::Timestamp),
386
+ propagated_nexus_serialization_context: T.nilable(Temporalio::Api::Nexus::V1::PropagatedSerializationContext),
387
+ eager_execution_accepted: T.nilable(T::Boolean)
386
388
  ).void
387
389
  end
388
390
  def initialize(
@@ -423,7 +425,9 @@ class Temporalio::Api::Activity::V1::ActivityExecutionInfo
423
425
  sdk_name: "",
424
426
  sdk_version: "",
425
427
  start_delay: nil,
426
- execution_time: nil
428
+ execution_time: nil,
429
+ propagated_nexus_serialization_context: nil,
430
+ eager_execution_accepted: false
427
431
  )
428
432
  end
429
433
 
@@ -1060,6 +1064,39 @@ class Temporalio::Api::Activity::V1::ActivityExecutionInfo
1060
1064
  def clear_execution_time
1061
1065
  end
1062
1066
 
1067
+ # Serialization context propagated from the Nexus caller that started this activity.
1068
+ sig { returns(T.nilable(Temporalio::Api::Nexus::V1::PropagatedSerializationContext)) }
1069
+ def propagated_nexus_serialization_context
1070
+ end
1071
+
1072
+ # Serialization context propagated from the Nexus caller that started this activity.
1073
+ sig { params(value: T.nilable(Temporalio::Api::Nexus::V1::PropagatedSerializationContext)).void }
1074
+ def propagated_nexus_serialization_context=(value)
1075
+ end
1076
+
1077
+ # Serialization context propagated from the Nexus caller that started this activity.
1078
+ sig { void }
1079
+ def clear_propagated_nexus_serialization_context
1080
+ end
1081
+
1082
+ # Indicates whether eager execution was requested for this activity and accepted by the server
1083
+ # for its first task.
1084
+ sig { returns(T::Boolean) }
1085
+ def eager_execution_accepted
1086
+ end
1087
+
1088
+ # Indicates whether eager execution was requested for this activity and accepted by the server
1089
+ # for its first task.
1090
+ sig { params(value: T::Boolean).void }
1091
+ def eager_execution_accepted=(value)
1092
+ end
1093
+
1094
+ # Indicates whether eager execution was requested for this activity and accepted by the server
1095
+ # for its first task.
1096
+ sig { void }
1097
+ def clear_eager_execution_accepted
1098
+ end
1099
+
1063
1100
  sig { params(field: String).returns(T.untyped) }
1064
1101
  def [](field)
1065
1102
  end
@@ -16,7 +16,8 @@ class Temporalio::Api::Callback::V1::CallbackInfo
16
16
  last_attempt_complete_time: T.nilable(Google::Protobuf::Timestamp),
17
17
  last_attempt_failure: T.nilable(Temporalio::Api::Failure::V1::Failure),
18
18
  next_attempt_schedule_time: T.nilable(Google::Protobuf::Timestamp),
19
- blocked_reason: T.nilable(String)
19
+ blocked_reason: T.nilable(String),
20
+ request_id: T.nilable(String)
20
21
  ).void
21
22
  end
22
23
  def initialize(
@@ -27,7 +28,8 @@ class Temporalio::Api::Callback::V1::CallbackInfo
27
28
  last_attempt_complete_time: nil,
28
29
  last_attempt_failure: nil,
29
30
  next_attempt_schedule_time: nil,
30
- blocked_reason: ""
31
+ blocked_reason: "",
32
+ request_id: ""
31
33
  )
32
34
  end
33
35
 
@@ -154,6 +156,24 @@ class Temporalio::Api::Callback::V1::CallbackInfo
154
156
  def clear_blocked_reason
155
157
  end
156
158
 
159
+ # Server-generated request ID used as an idempotency token when invoking callbacks.
160
+ # It has no relation to caller-side request_id sent in operations like StartNexusOperationExecutionRequest.
161
+ sig { returns(String) }
162
+ def request_id
163
+ end
164
+
165
+ # Server-generated request ID used as an idempotency token when invoking callbacks.
166
+ # It has no relation to caller-side request_id sent in operations like StartNexusOperationExecutionRequest.
167
+ sig { params(value: String).void }
168
+ def request_id=(value)
169
+ end
170
+
171
+ # Server-generated request ID used as an idempotency token when invoking callbacks.
172
+ # It has no relation to caller-side request_id sent in operations like StartNexusOperationExecutionRequest.
173
+ sig { void }
174
+ def clear_request_id
175
+ end
176
+
157
177
  sig { params(field: String).returns(T.untyped) }
158
178
  def [](field)
159
179
  end