temporalio 1.10.0-aarch64-linux → 1.11.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 (110) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -2
  3. data/lib/temporalio/api/activity/v1/message.rb +1 -1
  4. data/lib/temporalio/api/common/v1/message.rb +2 -1
  5. data/lib/temporalio/api/schedule/v1/message.rb +1 -1
  6. data/lib/temporalio/api/taskqueue/v1/message.rb +2 -1
  7. data/lib/temporalio/api/worker/v1/message.rb +1 -1
  8. data/lib/temporalio/api/workflowservice/v1/request_response.rb +1 -1
  9. data/lib/temporalio/client/connection.rb +4 -4
  10. data/lib/temporalio/contrib/aws/s3_driver/aws_sdk_s3_storage_driver_client.rb +52 -0
  11. data/lib/temporalio/contrib/aws/s3_driver/s3_storage_driver.rb +211 -0
  12. data/lib/temporalio/contrib/aws/s3_driver/s3_storage_driver_client.rb +56 -0
  13. data/lib/temporalio/contrib/aws/s3_driver.rb +22 -0
  14. data/lib/temporalio/contrib/open_telemetry.rb +1 -1
  15. data/lib/temporalio/converters/external_storage_concurrency.rb +4 -6
  16. data/lib/temporalio/converters/payload_converter/binary_protobuf.rb +1 -1
  17. data/lib/temporalio/converters/payload_converter/json_protobuf.rb +1 -1
  18. data/lib/temporalio/converters/storage_driver_limiter.rb +6 -8
  19. data/lib/temporalio/converters/storage_driver_retrieve_context.rb +1 -2
  20. data/lib/temporalio/converters/storage_driver_store_context.rb +1 -2
  21. data/lib/temporalio/env_config.rb +89 -8
  22. data/lib/temporalio/internal/bridge/3.3/temporalio_bridge.so +2 -2
  23. data/lib/temporalio/internal/bridge/3.4/temporalio_bridge.so +2 -2
  24. data/lib/temporalio/internal/bridge/4.0/temporalio_bridge.so +2 -2
  25. data/lib/temporalio/internal/bridge/api/activity_result/activity_result.rb +2 -2
  26. data/lib/temporalio/internal/bridge/api/activity_task/activity_task.rb +3 -1
  27. data/lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb +2 -1
  28. data/lib/temporalio/internal/bridge/testing.rb +4 -2
  29. data/lib/temporalio/internal/worker/workflow_instance/child_workflow_handle.rb +2 -2
  30. data/lib/temporalio/internal/worker/workflow_instance/context.rb +35 -24
  31. data/lib/temporalio/internal/worker/workflow_instance/external_workflow_handle.rb +6 -4
  32. data/lib/temporalio/internal/worker/workflow_instance/nexus_client.rb +3 -2
  33. data/lib/temporalio/internal/worker/workflow_instance/outbound_implementation.rb +52 -19
  34. data/lib/temporalio/internal/worker/workflow_instance/scheduler.rb +8 -2
  35. data/lib/temporalio/internal/worker/workflow_instance.rb +47 -26
  36. data/lib/temporalio/internal/worker/workflow_worker.rb +1 -2
  37. data/lib/temporalio/search_attributes.rb +4 -2
  38. data/lib/temporalio/testing/workflow_environment.rb +10 -2
  39. data/lib/temporalio/version.rb +1 -1
  40. data/lib/temporalio/worker/interceptor.rb +16 -8
  41. data/lib/temporalio/worker/workflow_replayer.rb +1 -1
  42. data/lib/temporalio/worker.rb +19 -12
  43. data/lib/temporalio/workflow/child_workflow_handle.rb +4 -1
  44. data/lib/temporalio/workflow/event_group.rb +157 -0
  45. data/lib/temporalio/workflow/external_workflow_handle.rb +9 -2
  46. data/lib/temporalio/workflow/future.rb +1 -1
  47. data/lib/temporalio/workflow/info.rb +4 -0
  48. data/lib/temporalio/workflow/nexus_client.rb +11 -3
  49. data/lib/temporalio/workflow.rb +114 -22
  50. data/rbi/temporalio/api/activity/v1/message.rbi +71 -2
  51. data/rbi/temporalio/api/common/v1/message.rbi +95 -0
  52. data/rbi/temporalio/api/schedule/v1/message.rbi +44 -4
  53. data/rbi/temporalio/api/taskqueue/v1/message.rbi +67 -0
  54. data/rbi/temporalio/api/worker/v1/message.rbi +22 -2
  55. data/rbi/temporalio/api/workflowservice/v1/request_response.rbi +126 -12
  56. data/rbi/temporalio/contrib/aws/s3_driver/aws_sdk_s3_storage_driver_client.rbi +8 -0
  57. data/rbi/temporalio/contrib/aws/s3_driver/s3_storage_driver.rbi +27 -0
  58. data/rbi/temporalio/contrib/aws/s3_driver/s3_storage_driver_client.rbi +17 -0
  59. data/rbi/temporalio/contrib/aws/s3_driver.rbi +5 -0
  60. data/rbi/temporalio/env_config.rbi +39 -4
  61. data/rbi/temporalio/internal/bridge/api/activity_result/activity_result.rbi +0 -19
  62. data/rbi/temporalio/internal/bridge/api/activity_task/activity_task.rbi +213 -2
  63. data/rbi/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rbi +50 -4
  64. data/rbi/temporalio/internal/bridge/testing.rbi +17 -4
  65. data/rbi/temporalio/internal/bridge/worker.rbi +4 -4
  66. data/rbi/temporalio/internal/worker/workflow_instance/context.rbi +33 -24
  67. data/rbi/temporalio/internal/worker/workflow_instance/nexus_client.rbi +4 -2
  68. data/rbi/temporalio/internal/worker/workflow_instance/outbound_implementation.rbi +17 -6
  69. data/rbi/temporalio/internal/worker/workflow_instance/scheduler.rbi +1 -1
  70. data/rbi/temporalio/internal/worker/workflow_instance.rbi +5 -2
  71. data/rbi/temporalio/testing/workflow_environment.rbi +4 -0
  72. data/rbi/temporalio/worker/interceptor.rbi +24 -0
  73. data/rbi/temporalio/worker.rbi +8 -8
  74. data/rbi/temporalio/workflow/child_workflow_handle.rbi +3 -2
  75. data/rbi/temporalio/workflow/event_group.rbi +104 -0
  76. data/rbi/temporalio/workflow/external_workflow_handle.rbi +5 -4
  77. data/rbi/temporalio/workflow/info.rbi +3 -0
  78. data/rbi/temporalio/workflow/nexus_client.rbi +8 -4
  79. data/rbi/temporalio/workflow.rbi +70 -21
  80. data/sig/temporalio/api/activity/v1/message.rbs +31 -0
  81. data/sig/temporalio/api/common/v1/message.rbs +35 -0
  82. data/sig/temporalio/api/schedule/v1/message.rbs +20 -0
  83. data/sig/temporalio/api/taskqueue/v1/message.rbs +24 -0
  84. data/sig/temporalio/api/worker/v1/message.rbs +10 -0
  85. data/sig/temporalio/api/workflowservice/v1/request_response.rbs +58 -0
  86. data/sig/temporalio/contrib/aws/s3_driver/aws_sdk_s3_storage_driver_client.rbs +13 -0
  87. data/sig/temporalio/contrib/aws/s3_driver/s3_storage_driver.rbs +68 -0
  88. data/sig/temporalio/contrib/aws/s3_driver/s3_storage_driver_client.rbs +14 -0
  89. data/sig/temporalio/contrib/aws/s3_driver.rbs +8 -0
  90. data/sig/temporalio/env_config.rbs +20 -2
  91. data/sig/temporalio/internal/bridge/api/activity_result/activity_result.rbs +6 -41
  92. data/sig/temporalio/internal/bridge/api/activity_task/activity_task.rbs +99 -0
  93. data/sig/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rbs +22 -0
  94. data/sig/temporalio/internal/bridge/testing.rbs +7 -3
  95. data/sig/temporalio/internal/bridge/worker.rbs +4 -4
  96. data/sig/temporalio/internal/worker/workflow_instance/context.rbs +19 -13
  97. data/sig/temporalio/internal/worker/workflow_instance/nexus_client.rbs +2 -1
  98. data/sig/temporalio/internal/worker/workflow_instance/outbound_implementation.rbs +8 -5
  99. data/sig/temporalio/internal/worker/workflow_instance/scheduler.rbs +1 -1
  100. data/sig/temporalio/internal/worker/workflow_instance.rbs +2 -1
  101. data/sig/temporalio/testing/workflow_environment.rbs +8 -4
  102. data/sig/temporalio/worker/interceptor.rbs +24 -8
  103. data/sig/temporalio/worker.rbs +12 -12
  104. data/sig/temporalio/workflow/child_workflow_handle.rbs +2 -1
  105. data/sig/temporalio/workflow/event_group.rbs +37 -0
  106. data/sig/temporalio/workflow/external_workflow_handle.rbs +3 -2
  107. data/sig/temporalio/workflow/info.rbs +2 -0
  108. data/sig/temporalio/workflow/nexus_client.rbs +4 -2
  109. data/sig/temporalio/workflow.rbs +27 -11
  110. metadata +17 -2
@@ -7,10 +7,11 @@ require 'google/protobuf'
7
7
  require 'google/protobuf/duration_pb'
8
8
  require 'google/protobuf/timestamp_pb'
9
9
  require 'temporalio/api/common/v1/message'
10
+ require 'temporalio/api/nexus/v1/message'
10
11
  require 'temporalio/internal/bridge/api/common/common'
11
12
 
12
13
 
13
- descriptor_data = "\n3temporal/sdk/core/activity_task/activity_task.proto\x12\x15\x63oresdk.activity_task\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/sdk/core/common/common.proto\"\x8d\x01\n\x0c\x41\x63tivityTask\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12-\n\x05start\x18\x03 \x01(\x0b\x32\x1c.coresdk.activity_task.StartH\x00\x12/\n\x06\x63\x61ncel\x18\x04 \x01(\x0b\x32\x1d.coresdk.activity_task.CancelH\x00\x42\t\n\x07variant\"\xb1\x07\n\x05Start\x12\x1a\n\x12workflow_namespace\x18\x01 \x01(\t\x12\x15\n\rworkflow_type\x18\x02 \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x13\n\x0b\x61\x63tivity_id\x18\x04 \x01(\t\x12\x15\n\ractivity_type\x18\x05 \x01(\t\x12\x45\n\rheader_fields\x18\x06 \x03(\x0b\x32..coresdk.activity_task.Start.HeaderFieldsEntry\x12.\n\x05input\x18\x07 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12:\n\x11heartbeat_details\x18\x08 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x32\n\x0escheduled_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x42\n\x1e\x63urrent_attempt_scheduled_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cstarted_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x61ttempt\x18\x0c \x01(\r\x12<\n\x19schedule_to_close_timeout\x18\r \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\x0e \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\x0f \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x10 \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x32\n\x08priority\x18\x12 \x01(\x0b\x32 .temporal.api.common.v1.Priority\x12\x10\n\x08is_local\x18\x11 \x01(\x08\x12\x0e\n\x06run_id\x18\x13 \x01(\t\x1aT\n\x11HeaderFieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\x8a\x01\n\x06\x43\x61ncel\x12;\n\x06reason\x18\x01 \x01(\x0e\x32+.coresdk.activity_task.ActivityCancelReason\x12\x43\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\x32.coresdk.activity_task.ActivityCancellationDetails\"\xa0\x01\n\x1b\x41\x63tivityCancellationDetails\x12\x14\n\x0cis_not_found\x18\x01 \x01(\x08\x12\x14\n\x0cis_cancelled\x18\x02 \x01(\x08\x12\x11\n\tis_paused\x18\x03 \x01(\x08\x12\x14\n\x0cis_timed_out\x18\x04 \x01(\x08\x12\x1a\n\x12is_worker_shutdown\x18\x05 \x01(\x08\x12\x10\n\x08is_reset\x18\x06 \x01(\x08*o\n\x14\x41\x63tivityCancelReason\x12\r\n\tNOT_FOUND\x10\x00\x12\r\n\tCANCELLED\x10\x01\x12\r\n\tTIMED_OUT\x10\x02\x12\x13\n\x0fWORKER_SHUTDOWN\x10\x03\x12\n\n\x06PAUSED\x10\x04\x12\t\n\x05RESET\x10\x05\x42\x32\xea\x02/Temporalio::Internal::Bridge::Api::ActivityTaskb\x06proto3"
14
+ descriptor_data = "\n3temporal/sdk/core/activity_task/activity_task.proto\x12\x15\x63oresdk.activity_task\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a$temporal/api/common/v1/message.proto\x1a#temporal/api/nexus/v1/message.proto\x1a%temporal/sdk/core/common/common.proto\"\x8d\x01\n\x0c\x41\x63tivityTask\x12\x12\n\ntask_token\x18\x01 \x01(\x0c\x12-\n\x05start\x18\x03 \x01(\x0b\x32\x1c.coresdk.activity_task.StartH\x00\x12/\n\x06\x63\x61ncel\x18\x04 \x01(\x0b\x32\x1d.coresdk.activity_task.CancelH\x00\x42\t\n\x07variant\"\xdb\x08\n\x05Start\x12\x1a\n\x12workflow_namespace\x18\x01 \x01(\t\x12\x15\n\rworkflow_type\x18\x02 \x01(\t\x12\x45\n\x12workflow_execution\x18\x03 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x13\n\x0b\x61\x63tivity_id\x18\x04 \x01(\t\x12\x15\n\ractivity_type\x18\x05 \x01(\t\x12\x45\n\rheader_fields\x18\x06 \x03(\x0b\x32..coresdk.activity_task.Start.HeaderFieldsEntry\x12.\n\x05input\x18\x07 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12:\n\x11heartbeat_details\x18\x08 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x32\n\x0escheduled_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x42\n\x1e\x63urrent_attempt_scheduled_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cstarted_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07\x61ttempt\x18\x0c \x01(\r\x12<\n\x19schedule_to_close_timeout\x18\r \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\x0e \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\x0f \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x10 \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x32\n\x08priority\x18\x12 \x01(\x0b\x32 .temporal.api.common.v1.Priority\x12\x10\n\x08is_local\x18\x11 \x01(\x08\x12\x0e\n\x06run_id\x18\x13 \x01(\t\x12\x65\n&propagated_nexus_serialization_context\x18\x14 \x01(\x0b\x32\x35.temporal.api.nexus.v1.PropagatedSerializationContext\x12\x41\n\rworkflow_task\x18\x15 \x01(\x0b\x32*.coresdk.activity_task.WorkflowTaskAttempt\x1aT\n\x11HeaderFieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\x80\x02\n\x13WorkflowTaskAttempt\x12\x18\n\x10started_event_id\x18\x01 \x01(\x03\x12\x0f\n\x07\x61ttempt\x18\x02 \x01(\r\x12\x30\n\x0cstarted_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12!\n\x19previous_started_event_id\x18\x04 \x01(\x03\x12\x14\n\x0c\x66\x61iled_tasks\x18\x05 \x03(\x03\x12\x18\n\x10previous_attempt\x18\x06 \x01(\r\x12\x39\n\x15previous_started_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x8a\x01\n\x06\x43\x61ncel\x12;\n\x06reason\x18\x01 \x01(\x0e\x32+.coresdk.activity_task.ActivityCancelReason\x12\x43\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\x32.coresdk.activity_task.ActivityCancellationDetails\"\xa0\x01\n\x1b\x41\x63tivityCancellationDetails\x12\x14\n\x0cis_not_found\x18\x01 \x01(\x08\x12\x14\n\x0cis_cancelled\x18\x02 \x01(\x08\x12\x11\n\tis_paused\x18\x03 \x01(\x08\x12\x14\n\x0cis_timed_out\x18\x04 \x01(\x08\x12\x1a\n\x12is_worker_shutdown\x18\x05 \x01(\x08\x12\x10\n\x08is_reset\x18\x06 \x01(\x08*o\n\x14\x41\x63tivityCancelReason\x12\r\n\tNOT_FOUND\x10\x00\x12\r\n\tCANCELLED\x10\x01\x12\r\n\tTIMED_OUT\x10\x02\x12\x13\n\x0fWORKER_SHUTDOWN\x10\x03\x12\n\n\x06PAUSED\x10\x04\x12\t\n\x05RESET\x10\x05\x42\x32\xea\x02/Temporalio::Internal::Bridge::Api::ActivityTaskb\x06proto3"
14
15
 
15
16
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
16
17
  pool.add_serialized_file(descriptor_data)
@@ -22,6 +23,7 @@ module Temporalio
22
23
  module ActivityTask
23
24
  ActivityTask = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.activity_task.ActivityTask").msgclass
24
25
  Start = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.activity_task.Start").msgclass
26
+ WorkflowTaskAttempt = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.activity_task.WorkflowTaskAttempt").msgclass
25
27
  Cancel = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.activity_task.Cancel").msgclass
26
28
  ActivityCancellationDetails = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.activity_task.ActivityCancellationDetails").msgclass
27
29
  ActivityCancelReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.activity_task.ActivityCancelReason").enummodule
@@ -8,6 +8,7 @@ require 'google/protobuf/timestamp_pb'
8
8
  require 'google/protobuf/duration_pb'
9
9
  require 'google/protobuf/empty_pb'
10
10
  require 'temporalio/api/failure/v1/message'
11
+ require 'temporalio/api/nexus/v1/message'
11
12
  require 'temporalio/api/update/v1/message'
12
13
  require 'temporalio/api/common/v1/message'
13
14
  require 'temporalio/api/enums/v1/failed_cause'
@@ -18,7 +19,7 @@ require 'temporalio/internal/bridge/api/common/common'
18
19
  require 'temporalio/internal/bridge/api/nexus/nexus'
19
20
 
20
21
 
21
- descriptor_data = "\n?temporal/sdk/core/workflow_activation/workflow_activation.proto\x12\x1b\x63oresdk.workflow_activation\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a%temporal/api/failure/v1/message.proto\x1a$temporal/api/update/v1/message.proto\x1a$temporal/api/common/v1/message.proto\x1a(temporal/api/enums/v1/failed_cause.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a\x37temporal/sdk/core/activity_result/activity_result.proto\x1a\x35temporal/sdk/core/child_workflow/child_workflow.proto\x1a%temporal/sdk/core/common/common.proto\x1a#temporal/sdk/core/nexus/nexus.proto\"\xa2\x04\n\x12WorkflowActivation\x12\x0e\n\x06run_id\x18\x01 \x01(\t\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x0cis_replaying\x18\x03 \x01(\x08\x12\x16\n\x0ehistory_length\x18\x04 \x01(\r\x12@\n\x04jobs\x18\x05 \x03(\x0b\x32\x32.coresdk.workflow_activation.WorkflowActivationJob\x12 \n\x18\x61vailable_internal_flags\x18\x06 \x03(\r\x12\x1a\n\x12history_size_bytes\x18\x07 \x01(\x04\x12!\n\x19\x63ontinue_as_new_suggested\x18\x08 \x01(\x08\x12T\n#deployment_version_for_current_task\x18\t \x01(\x0b\x32\'.coresdk.common.WorkerDeploymentVersion\x12\x18\n\x10last_sdk_version\x18\n \x01(\t\x12Z\n\x1fsuggest_continue_as_new_reasons\x18\x0b \x03(\x0e\x32\x31.temporal.api.enums.v1.SuggestContinueAsNewReason\x12\x30\n(target_worker_deployment_version_changed\x18\x0c \x01(\x08\"\xe0\n\n\x15WorkflowActivationJob\x12N\n\x13initialize_workflow\x18\x01 \x01(\x0b\x32/.coresdk.workflow_activation.InitializeWorkflowH\x00\x12<\n\nfire_timer\x18\x02 \x01(\x0b\x32&.coresdk.workflow_activation.FireTimerH\x00\x12K\n\x12update_random_seed\x18\x04 \x01(\x0b\x32-.coresdk.workflow_activation.UpdateRandomSeedH\x00\x12\x44\n\x0equery_workflow\x18\x05 \x01(\x0b\x32*.coresdk.workflow_activation.QueryWorkflowH\x00\x12\x46\n\x0f\x63\x61ncel_workflow\x18\x06 \x01(\x0b\x32+.coresdk.workflow_activation.CancelWorkflowH\x00\x12\x46\n\x0fsignal_workflow\x18\x07 \x01(\x0b\x32+.coresdk.workflow_activation.SignalWorkflowH\x00\x12H\n\x10resolve_activity\x18\x08 \x01(\x0b\x32,.coresdk.workflow_activation.ResolveActivityH\x00\x12G\n\x10notify_has_patch\x18\t \x01(\x0b\x32+.coresdk.workflow_activation.NotifyHasPatchH\x00\x12q\n&resolve_child_workflow_execution_start\x18\n \x01(\x0b\x32?.coresdk.workflow_activation.ResolveChildWorkflowExecutionStartH\x00\x12\x66\n resolve_child_workflow_execution\x18\x0b \x01(\x0b\x32:.coresdk.workflow_activation.ResolveChildWorkflowExecutionH\x00\x12\x66\n resolve_signal_external_workflow\x18\x0c \x01(\x0b\x32:.coresdk.workflow_activation.ResolveSignalExternalWorkflowH\x00\x12u\n(resolve_request_cancel_external_workflow\x18\r \x01(\x0b\x32\x41.coresdk.workflow_activation.ResolveRequestCancelExternalWorkflowH\x00\x12:\n\tdo_update\x18\x0e \x01(\x0b\x32%.coresdk.workflow_activation.DoUpdateH\x00\x12`\n\x1dresolve_nexus_operation_start\x18\x0f \x01(\x0b\x32\x37.coresdk.workflow_activation.ResolveNexusOperationStartH\x00\x12U\n\x17resolve_nexus_operation\x18\x10 \x01(\x0b\x32\x32.coresdk.workflow_activation.ResolveNexusOperationH\x00\x12I\n\x11remove_from_cache\x18\x32 \x01(\x0b\x32,.coresdk.workflow_activation.RemoveFromCacheH\x00\x42\t\n\x07variant\"\xfc\n\n\x12InitializeWorkflow\x12\x15\n\rworkflow_type\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12\x32\n\targuments\x18\x03 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x17\n\x0frandomness_seed\x18\x04 \x01(\x04\x12M\n\x07headers\x18\x05 \x03(\x0b\x32<.coresdk.workflow_activation.InitializeWorkflow.HeadersEntry\x12\x10\n\x08identity\x18\x06 \x01(\t\x12I\n\x14parent_workflow_info\x18\x07 \x01(\x0b\x32+.coresdk.common.NamespacedWorkflowExecution\x12=\n\x1aworkflow_execution_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12\'\n\x1f\x63ontinued_from_execution_run_id\x18\x0b \x01(\t\x12J\n\x13\x63ontinued_initiator\x18\x0c \x01(\x0e\x32-.temporal.api.enums.v1.ContinueAsNewInitiator\x12;\n\x11\x63ontinued_failure\x18\r \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12@\n\x16last_completion_result\x18\x0e \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x1e\n\x16\x66irst_execution_run_id\x18\x0f \x01(\t\x12\x39\n\x0cretry_policy\x18\x10 \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x0f\n\x07\x61ttempt\x18\x11 \x01(\x05\x12\x15\n\rcron_schedule\x18\x12 \x01(\t\x12\x46\n\"workflow_execution_expiration_time\x18\x13 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x45\n\"cron_schedule_to_schedule_interval\x18\x14 \x01(\x0b\x32\x19.google.protobuf.Duration\x12*\n\x04memo\x18\x15 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x16 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12.\n\nstart_time\x18\x17 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12@\n\rroot_workflow\x18\x18 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x32\n\x08priority\x18\x19 \x01(\x0b\x32 .temporal.api.common.v1.Priority\x12!\n\x19original_execution_run_id\x18\x1a \x01(\t\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\x18\n\tFireTimer\x12\x0b\n\x03seq\x18\x01 \x01(\r\"m\n\x0fResolveActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12;\n\x06result\x18\x02 \x01(\x0b\x32+.coresdk.activity_result.ActivityResolution\x12\x10\n\x08is_local\x18\x03 \x01(\x08\"\xd1\x02\n\"ResolveChildWorkflowExecutionStart\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12[\n\tsucceeded\x18\x02 \x01(\x0b\x32\x46.coresdk.workflow_activation.ResolveChildWorkflowExecutionStartSuccessH\x00\x12X\n\x06\x66\x61iled\x18\x03 \x01(\x0b\x32\x46.coresdk.workflow_activation.ResolveChildWorkflowExecutionStartFailureH\x00\x12]\n\tcancelled\x18\x04 \x01(\x0b\x32H.coresdk.workflow_activation.ResolveChildWorkflowExecutionStartCancelledH\x00\x42\x08\n\x06status\";\n)ResolveChildWorkflowExecutionStartSuccess\x12\x0e\n\x06run_id\x18\x01 \x01(\t\"\xa6\x01\n)ResolveChildWorkflowExecutionStartFailure\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x15\n\rworkflow_type\x18\x02 \x01(\t\x12M\n\x05\x63\x61use\x18\x03 \x01(\x0e\x32>.coresdk.child_workflow.StartChildWorkflowExecutionFailedCause\"`\n+ResolveChildWorkflowExecutionStartCancelled\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"i\n\x1dResolveChildWorkflowExecution\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12;\n\x06result\x18\x02 \x01(\x0b\x32+.coresdk.child_workflow.ChildWorkflowResult\"+\n\x10UpdateRandomSeed\x12\x17\n\x0frandomness_seed\x18\x01 \x01(\x04\"\x84\x02\n\rQueryWorkflow\x12\x10\n\x08query_id\x18\x01 \x01(\t\x12\x12\n\nquery_type\x18\x02 \x01(\t\x12\x32\n\targuments\x18\x03 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12H\n\x07headers\x18\x05 \x03(\x0b\x32\x37.coresdk.workflow_activation.QueryWorkflow.HeadersEntry\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\" \n\x0e\x43\x61ncelWorkflow\x12\x0e\n\x06reason\x18\x01 \x01(\t\"\xa1\x02\n\x0eSignalWorkflow\x12\x13\n\x0bsignal_name\x18\x01 \x01(\t\x12.\n\x05input\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x10\n\x08identity\x18\x03 \x01(\t\x12I\n\x07headers\x18\x05 \x03(\x0b\x32\x38.coresdk.workflow_activation.SignalWorkflow.HeadersEntry\x12\x1c\n\x14originating_event_id\x18\x06 \x01(\x03\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\"\n\x0eNotifyHasPatch\x12\x10\n\x08patch_id\x18\x01 \x01(\t\"\xb1\x01\n\x1dResolveSignalExternalWorkflow\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x31\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12P\n\x05\x63\x61use\x18\x03 \x01(\x0e\x32\x41.temporal.api.enums.v1.SignalExternalWorkflowExecutionFailedCause\"\xb8\x01\n$ResolveRequestCancelExternalWorkflow\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x31\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12P\n\x05\x63\x61use\x18\x03 \x01(\x0e\x32\x41.temporal.api.enums.v1.CancelExternalWorkflowExecutionFailedCause\"\xcb\x02\n\x08\x44oUpdate\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1c\n\x14protocol_instance_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12.\n\x05input\x18\x04 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x43\n\x07headers\x18\x05 \x03(\x0b\x32\x32.coresdk.workflow_activation.DoUpdate.HeadersEntry\x12*\n\x04meta\x18\x06 \x01(\x0b\x32\x1c.temporal.api.update.v1.Meta\x12\x15\n\rrun_validator\x18\x07 \x01(\x08\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\x9a\x01\n\x1aResolveNexusOperationStart\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x19\n\x0foperation_token\x18\x02 \x01(\tH\x00\x12\x16\n\x0cstarted_sync\x18\x03 \x01(\x08H\x00\x12\x32\n\x06\x66\x61iled\x18\x04 \x01(\x0b\x32 .temporal.api.failure.v1.FailureH\x00\x42\x08\n\x06status\"Y\n\x15ResolveNexusOperation\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x33\n\x06result\x18\x02 \x01(\x0b\x32#.coresdk.nexus.NexusOperationResult\"\xe0\x02\n\x0fRemoveFromCache\x12\x0f\n\x07message\x18\x01 \x01(\t\x12K\n\x06reason\x18\x02 \x01(\x0e\x32;.coresdk.workflow_activation.RemoveFromCache.EvictionReason\"\xee\x01\n\x0e\x45victionReason\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCACHE_FULL\x10\x01\x12\x0e\n\nCACHE_MISS\x10\x02\x12\x12\n\x0eNONDETERMINISM\x10\x03\x12\r\n\tLANG_FAIL\x10\x04\x12\x12\n\x0eLANG_REQUESTED\x10\x05\x12\x12\n\x0eTASK_NOT_FOUND\x10\x06\x12\x15\n\x11UNHANDLED_COMMAND\x10\x07\x12\t\n\x05\x46\x41TAL\x10\x08\x12\x1f\n\x1bPAGINATION_OR_HISTORY_FETCH\x10\t\x12\x1d\n\x19WORKFLOW_EXECUTION_ENDING\x10\nB8\xea\x02\x35Temporalio::Internal::Bridge::Api::WorkflowActivationb\x06proto3"
22
+ descriptor_data = "\n?temporal/sdk/core/workflow_activation/workflow_activation.proto\x12\x1b\x63oresdk.workflow_activation\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a%temporal/api/failure/v1/message.proto\x1a#temporal/api/nexus/v1/message.proto\x1a$temporal/api/update/v1/message.proto\x1a$temporal/api/common/v1/message.proto\x1a(temporal/api/enums/v1/failed_cause.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a\x37temporal/sdk/core/activity_result/activity_result.proto\x1a\x35temporal/sdk/core/child_workflow/child_workflow.proto\x1a%temporal/sdk/core/common/common.proto\x1a#temporal/sdk/core/nexus/nexus.proto\"\xa2\x04\n\x12WorkflowActivation\x12\x0e\n\x06run_id\x18\x01 \x01(\t\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x0cis_replaying\x18\x03 \x01(\x08\x12\x16\n\x0ehistory_length\x18\x04 \x01(\r\x12@\n\x04jobs\x18\x05 \x03(\x0b\x32\x32.coresdk.workflow_activation.WorkflowActivationJob\x12 \n\x18\x61vailable_internal_flags\x18\x06 \x03(\r\x12\x1a\n\x12history_size_bytes\x18\x07 \x01(\x04\x12!\n\x19\x63ontinue_as_new_suggested\x18\x08 \x01(\x08\x12T\n#deployment_version_for_current_task\x18\t \x01(\x0b\x32\'.coresdk.common.WorkerDeploymentVersion\x12\x18\n\x10last_sdk_version\x18\n \x01(\t\x12Z\n\x1fsuggest_continue_as_new_reasons\x18\x0b \x03(\x0e\x32\x31.temporal.api.enums.v1.SuggestContinueAsNewReason\x12\x30\n(target_worker_deployment_version_changed\x18\x0c \x01(\x08\"\xe0\n\n\x15WorkflowActivationJob\x12N\n\x13initialize_workflow\x18\x01 \x01(\x0b\x32/.coresdk.workflow_activation.InitializeWorkflowH\x00\x12<\n\nfire_timer\x18\x02 \x01(\x0b\x32&.coresdk.workflow_activation.FireTimerH\x00\x12K\n\x12update_random_seed\x18\x04 \x01(\x0b\x32-.coresdk.workflow_activation.UpdateRandomSeedH\x00\x12\x44\n\x0equery_workflow\x18\x05 \x01(\x0b\x32*.coresdk.workflow_activation.QueryWorkflowH\x00\x12\x46\n\x0f\x63\x61ncel_workflow\x18\x06 \x01(\x0b\x32+.coresdk.workflow_activation.CancelWorkflowH\x00\x12\x46\n\x0fsignal_workflow\x18\x07 \x01(\x0b\x32+.coresdk.workflow_activation.SignalWorkflowH\x00\x12H\n\x10resolve_activity\x18\x08 \x01(\x0b\x32,.coresdk.workflow_activation.ResolveActivityH\x00\x12G\n\x10notify_has_patch\x18\t \x01(\x0b\x32+.coresdk.workflow_activation.NotifyHasPatchH\x00\x12q\n&resolve_child_workflow_execution_start\x18\n \x01(\x0b\x32?.coresdk.workflow_activation.ResolveChildWorkflowExecutionStartH\x00\x12\x66\n resolve_child_workflow_execution\x18\x0b \x01(\x0b\x32:.coresdk.workflow_activation.ResolveChildWorkflowExecutionH\x00\x12\x66\n resolve_signal_external_workflow\x18\x0c \x01(\x0b\x32:.coresdk.workflow_activation.ResolveSignalExternalWorkflowH\x00\x12u\n(resolve_request_cancel_external_workflow\x18\r \x01(\x0b\x32\x41.coresdk.workflow_activation.ResolveRequestCancelExternalWorkflowH\x00\x12:\n\tdo_update\x18\x0e \x01(\x0b\x32%.coresdk.workflow_activation.DoUpdateH\x00\x12`\n\x1dresolve_nexus_operation_start\x18\x0f \x01(\x0b\x32\x37.coresdk.workflow_activation.ResolveNexusOperationStartH\x00\x12U\n\x17resolve_nexus_operation\x18\x10 \x01(\x0b\x32\x32.coresdk.workflow_activation.ResolveNexusOperationH\x00\x12I\n\x11remove_from_cache\x18\x32 \x01(\x0b\x32,.coresdk.workflow_activation.RemoveFromCacheH\x00\x42\t\n\x07variant\"\xe3\x0b\n\x12InitializeWorkflow\x12\x15\n\rworkflow_type\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12\x32\n\targuments\x18\x03 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x17\n\x0frandomness_seed\x18\x04 \x01(\x04\x12M\n\x07headers\x18\x05 \x03(\x0b\x32<.coresdk.workflow_activation.InitializeWorkflow.HeadersEntry\x12\x10\n\x08identity\x18\x06 \x01(\t\x12I\n\x14parent_workflow_info\x18\x07 \x01(\x0b\x32+.coresdk.common.NamespacedWorkflowExecution\x12=\n\x1aworkflow_execution_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12\'\n\x1f\x63ontinued_from_execution_run_id\x18\x0b \x01(\t\x12J\n\x13\x63ontinued_initiator\x18\x0c \x01(\x0e\x32-.temporal.api.enums.v1.ContinueAsNewInitiator\x12;\n\x11\x63ontinued_failure\x18\r \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12@\n\x16last_completion_result\x18\x0e \x01(\x0b\x32 .temporal.api.common.v1.Payloads\x12\x1e\n\x16\x66irst_execution_run_id\x18\x0f \x01(\t\x12\x39\n\x0cretry_policy\x18\x10 \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x0f\n\x07\x61ttempt\x18\x11 \x01(\x05\x12\x15\n\rcron_schedule\x18\x12 \x01(\t\x12\x46\n\"workflow_execution_expiration_time\x18\x13 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x45\n\"cron_schedule_to_schedule_interval\x18\x14 \x01(\x0b\x32\x19.google.protobuf.Duration\x12*\n\x04memo\x18\x15 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\x12\x43\n\x11search_attributes\x18\x16 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12.\n\nstart_time\x18\x17 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12@\n\rroot_workflow\x18\x18 \x01(\x0b\x32).temporal.api.common.v1.WorkflowExecution\x12\x32\n\x08priority\x18\x19 \x01(\x0b\x32 .temporal.api.common.v1.Priority\x12!\n\x19original_execution_run_id\x18\x1a \x01(\t\x12\x65\n&propagated_nexus_serialization_context\x18\x1b \x01(\x0b\x32\x35.temporal.api.nexus.v1.PropagatedSerializationContext\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\x18\n\tFireTimer\x12\x0b\n\x03seq\x18\x01 \x01(\r\"m\n\x0fResolveActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12;\n\x06result\x18\x02 \x01(\x0b\x32+.coresdk.activity_result.ActivityResolution\x12\x10\n\x08is_local\x18\x03 \x01(\x08\"\xd1\x02\n\"ResolveChildWorkflowExecutionStart\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12[\n\tsucceeded\x18\x02 \x01(\x0b\x32\x46.coresdk.workflow_activation.ResolveChildWorkflowExecutionStartSuccessH\x00\x12X\n\x06\x66\x61iled\x18\x03 \x01(\x0b\x32\x46.coresdk.workflow_activation.ResolveChildWorkflowExecutionStartFailureH\x00\x12]\n\tcancelled\x18\x04 \x01(\x0b\x32H.coresdk.workflow_activation.ResolveChildWorkflowExecutionStartCancelledH\x00\x42\x08\n\x06status\";\n)ResolveChildWorkflowExecutionStartSuccess\x12\x0e\n\x06run_id\x18\x01 \x01(\t\"\xa6\x01\n)ResolveChildWorkflowExecutionStartFailure\x12\x13\n\x0bworkflow_id\x18\x01 \x01(\t\x12\x15\n\rworkflow_type\x18\x02 \x01(\t\x12M\n\x05\x63\x61use\x18\x03 \x01(\x0e\x32>.coresdk.child_workflow.StartChildWorkflowExecutionFailedCause\"`\n+ResolveChildWorkflowExecutionStartCancelled\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"i\n\x1dResolveChildWorkflowExecution\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12;\n\x06result\x18\x02 \x01(\x0b\x32+.coresdk.child_workflow.ChildWorkflowResult\"+\n\x10UpdateRandomSeed\x12\x17\n\x0frandomness_seed\x18\x01 \x01(\x04\"\x84\x02\n\rQueryWorkflow\x12\x10\n\x08query_id\x18\x01 \x01(\t\x12\x12\n\nquery_type\x18\x02 \x01(\t\x12\x32\n\targuments\x18\x03 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12H\n\x07headers\x18\x05 \x03(\x0b\x32\x37.coresdk.workflow_activation.QueryWorkflow.HeadersEntry\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\" \n\x0e\x43\x61ncelWorkflow\x12\x0e\n\x06reason\x18\x01 \x01(\t\"\xa1\x02\n\x0eSignalWorkflow\x12\x13\n\x0bsignal_name\x18\x01 \x01(\t\x12.\n\x05input\x18\x02 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x10\n\x08identity\x18\x03 \x01(\t\x12I\n\x07headers\x18\x05 \x03(\x0b\x32\x38.coresdk.workflow_activation.SignalWorkflow.HeadersEntry\x12\x1c\n\x14originating_event_id\x18\x06 \x01(\x03\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\"\n\x0eNotifyHasPatch\x12\x10\n\x08patch_id\x18\x01 \x01(\t\"\xb1\x01\n\x1dResolveSignalExternalWorkflow\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x31\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12P\n\x05\x63\x61use\x18\x03 \x01(\x0e\x32\x41.temporal.api.enums.v1.SignalExternalWorkflowExecutionFailedCause\"\xb8\x01\n$ResolveRequestCancelExternalWorkflow\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x31\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12P\n\x05\x63\x61use\x18\x03 \x01(\x0e\x32\x41.temporal.api.enums.v1.CancelExternalWorkflowExecutionFailedCause\"\xb2\x03\n\x08\x44oUpdate\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1c\n\x14protocol_instance_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12.\n\x05input\x18\x04 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x43\n\x07headers\x18\x05 \x03(\x0b\x32\x32.coresdk.workflow_activation.DoUpdate.HeadersEntry\x12*\n\x04meta\x18\x06 \x01(\x0b\x32\x1c.temporal.api.update.v1.Meta\x12\x15\n\rrun_validator\x18\x07 \x01(\x08\x12\x65\n&propagated_nexus_serialization_context\x18\x08 \x01(\x0b\x32\x35.temporal.api.nexus.v1.PropagatedSerializationContext\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\x9a\x01\n\x1aResolveNexusOperationStart\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x19\n\x0foperation_token\x18\x02 \x01(\tH\x00\x12\x16\n\x0cstarted_sync\x18\x03 \x01(\x08H\x00\x12\x32\n\x06\x66\x61iled\x18\x04 \x01(\x0b\x32 .temporal.api.failure.v1.FailureH\x00\x42\x08\n\x06status\"Y\n\x15ResolveNexusOperation\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x33\n\x06result\x18\x02 \x01(\x0b\x32#.coresdk.nexus.NexusOperationResult\"\xe0\x02\n\x0fRemoveFromCache\x12\x0f\n\x07message\x18\x01 \x01(\t\x12K\n\x06reason\x18\x02 \x01(\x0e\x32;.coresdk.workflow_activation.RemoveFromCache.EvictionReason\"\xee\x01\n\x0e\x45victionReason\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCACHE_FULL\x10\x01\x12\x0e\n\nCACHE_MISS\x10\x02\x12\x12\n\x0eNONDETERMINISM\x10\x03\x12\r\n\tLANG_FAIL\x10\x04\x12\x12\n\x0eLANG_REQUESTED\x10\x05\x12\x12\n\x0eTASK_NOT_FOUND\x10\x06\x12\x15\n\x11UNHANDLED_COMMAND\x10\x07\x12\t\n\x05\x46\x41TAL\x10\x08\x12\x1f\n\x1bPAGINATION_OR_HISTORY_FETCH\x10\t\x12\x1d\n\x19WORKFLOW_EXECUTION_ENDING\x10\nB8\xea\x02\x35Temporalio::Internal::Bridge::Api::WorkflowActivationb\x06proto3"
22
23
 
23
24
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
24
25
  pool.add_serialized_file(descriptor_data)
@@ -22,7 +22,8 @@ module Temporalio
22
22
  :log_format,
23
23
  :log_level,
24
24
  :extra_args,
25
- :download_ttl # Optional
25
+ :download_ttl, # Optional
26
+ :startup_timeout # Optional
26
27
  )
27
28
 
28
29
  StartTestServerOptions = Struct.new(
@@ -33,7 +34,8 @@ module Temporalio
33
34
  :download_dest_dir, # Optional
34
35
  :port, # Optional
35
36
  :extra_args,
36
- :download_ttl # Optional
37
+ :download_ttl, # Optional
38
+ :startup_timeout # Optional
37
39
  )
38
40
 
39
41
  def self.start_dev_server(runtime, options)
@@ -46,8 +46,8 @@ module Temporalio
46
46
  @resolution = resolution
47
47
  end
48
48
 
49
- def signal(signal, *args, cancellation: Workflow.cancellation, arg_hints: nil)
50
- @instance.context._signal_child_workflow(id:, signal:, args:, cancellation:, arg_hints:)
49
+ def signal(signal, *args, cancellation: Workflow.cancellation, arg_hints: nil, event_groups: nil)
50
+ @instance.context._signal_child_workflow(id:, signal:, args:, cancellation:, arg_hints:, event_groups:)
51
51
  end
52
52
  end
53
53
  end
@@ -71,8 +71,8 @@ module Temporalio
71
71
  Fiber[:__temporal_update_info]
72
72
  end
73
73
 
74
- def deprecate_patch(patch_id)
75
- @instance.patch(patch_id:, deprecated: true)
74
+ def deprecate_patch(patch_id, event_groups:)
75
+ @instance.patch(patch_id:, deprecated: true, event_groups:)
76
76
  end
77
77
 
78
78
  def durable_scheduler_disabled(&)
@@ -102,7 +102,8 @@ module Temporalio
102
102
  disable_eager_execution:,
103
103
  priority:,
104
104
  arg_hints:,
105
- result_hint:
105
+ result_hint:,
106
+ event_groups:
106
107
  )
107
108
  activity, defn_arg_hints, defn_result_hint =
108
109
  case activity
@@ -135,7 +136,8 @@ module Temporalio
135
136
  priority:,
136
137
  arg_hints: arg_hints || defn_arg_hints,
137
138
  result_hint: result_hint || defn_result_hint,
138
- headers: {}
139
+ headers: {},
140
+ event_groups:
139
141
  )
140
142
  )
141
143
  end
@@ -153,7 +155,8 @@ module Temporalio
153
155
  cancellation_type:,
154
156
  activity_id:,
155
157
  arg_hints:,
156
- result_hint:
158
+ result_hint:,
159
+ event_groups:
157
160
  )
158
161
  activity, defn_arg_hints, defn_result_hint =
159
162
  case activity
@@ -182,7 +185,8 @@ module Temporalio
182
185
  activity_id:,
183
186
  arg_hints: arg_hints || defn_arg_hints,
184
187
  result_hint: result_hint || defn_result_hint,
185
- headers: {}
188
+ headers: {},
189
+ event_groups:
186
190
  )
187
191
  )
188
192
  end
@@ -235,8 +239,8 @@ module Temporalio
235
239
  @instance.now
236
240
  end
237
241
 
238
- def patched(patch_id)
239
- @instance.patch(patch_id:, deprecated: false)
242
+ def patched(patch_id, event_groups:)
243
+ @instance.patch(patch_id:, deprecated: false, event_groups:)
240
244
  end
241
245
 
242
246
  def payload_converter
@@ -269,12 +273,13 @@ module Temporalio
269
273
  @instance.signal_handlers
270
274
  end
271
275
 
272
- def sleep(duration, summary:, cancellation:)
276
+ def sleep(duration, summary:, cancellation:, event_groups:)
273
277
  @outbound.sleep(
274
278
  Temporalio::Worker::Interceptor::Workflow::SleepInput.new(
275
279
  duration:,
276
280
  summary:,
277
- cancellation:
281
+ cancellation:,
282
+ event_groups:
278
283
  )
279
284
  )
280
285
  end
@@ -300,7 +305,8 @@ module Temporalio
300
305
  priority:,
301
306
  versioning_override:,
302
307
  arg_hints:,
303
- result_hint:
308
+ result_hint:,
309
+ event_groups:
304
310
  )
305
311
  workflow, defn_arg_hints, defn_result_hint =
306
312
  Workflow::Definition._workflow_type_and_hints_from_workflow_parameter(workflow)
@@ -327,7 +333,8 @@ module Temporalio
327
333
  versioning_override:,
328
334
  arg_hints: arg_hints || defn_arg_hints,
329
335
  result_hint: result_hint || defn_result_hint,
330
- headers: {}
336
+ headers: {},
337
+ event_groups:
331
338
  )
332
339
  )
333
340
  end
@@ -336,7 +343,7 @@ module Temporalio
336
343
  @storage ||= {}
337
344
  end
338
345
 
339
- def timeout(duration, exception_class, *exception_args, summary:, &)
346
+ def timeout(duration, exception_class, *exception_args, summary:, event_groups:, &)
340
347
  raise 'Block required for timeout' unless block_given?
341
348
 
342
349
  # Run timer in background and block in foreground. This gives better stack traces than a future any-of race.
@@ -344,7 +351,7 @@ module Temporalio
344
351
  sleep_cancel, sleep_cancel_proc = Cancellation.new
345
352
  fiber = Fiber.current
346
353
  Workflow::Future.new do
347
- Workflow.sleep(duration, summary:, cancellation: sleep_cancel)
354
+ Workflow.sleep(duration, summary:, cancellation: sleep_cancel, event_groups:)
348
355
  fiber.raise(exception_class, *exception_args) if fiber.alive? # steep:ignore
349
356
  rescue Exception => e # rubocop:disable Lint/RescueException
350
357
  # Re-raise in fiber
@@ -362,7 +369,7 @@ module Temporalio
362
369
  @instance.update_handlers
363
370
  end
364
371
 
365
- def upsert_memo(hash)
372
+ def upsert_memo(hash, event_groups:)
366
373
  # Convert to memo, apply updates, then add the command (so command adding is post validation)
367
374
  upserted_memo = ProtoUtils.memo_to_proto(hash, payload_converter)
368
375
  memo._update do |new_hash|
@@ -379,12 +386,13 @@ module Temporalio
379
386
  Bridge::Api::WorkflowCommands::WorkflowCommand.new(
380
387
  modify_workflow_properties: Bridge::Api::WorkflowCommands::ModifyWorkflowProperties.new(
381
388
  upserted_memo:
382
- )
389
+ ),
390
+ event_group_markers: Workflow::EventGroup._markers_for_command(event_groups)
383
391
  )
384
392
  )
385
393
  end
386
394
 
387
- def upsert_search_attributes(*updates)
395
+ def upsert_search_attributes(*updates, event_groups:)
388
396
  # Apply updates then add the command (so command adding is post validation)
389
397
  search_attributes._disable_mutations = false
390
398
  search_attributes.update!(*updates)
@@ -394,7 +402,8 @@ module Temporalio
394
402
  search_attributes: Api::Common::V1::SearchAttributes.new(
395
403
  indexed_fields: updates.to_h(&:_to_proto_pair)
396
404
  )
397
- )
405
+ ),
406
+ event_group_markers: Workflow::EventGroup._markers_for_command(event_groups)
398
407
  )
399
408
  )
400
409
  ensure
@@ -405,9 +414,9 @@ module Temporalio
405
414
  @instance.scheduler.wait_condition(cancellation:, &)
406
415
  end
407
416
 
408
- def _cancel_external_workflow(id:, run_id:)
417
+ def _cancel_external_workflow(id:, run_id:, event_groups:)
409
418
  @outbound.cancel_external_workflow(
410
- Temporalio::Worker::Interceptor::Workflow::CancelExternalWorkflowInput.new(id:, run_id:)
419
+ Temporalio::Worker::Interceptor::Workflow::CancelExternalWorkflowInput.new(id:, run_id:, event_groups:)
411
420
  )
412
421
  end
413
422
 
@@ -415,7 +424,7 @@ module Temporalio
415
424
  @outbound = outbound
416
425
  end
417
426
 
418
- def _signal_child_workflow(id:, signal:, args:, cancellation:, arg_hints:)
427
+ def _signal_child_workflow(id:, signal:, args:, cancellation:, arg_hints:, event_groups:)
419
428
  signal, defn_arg_hints = Workflow::Definition::Signal._name_and_hints_from_parameter(signal)
420
429
  @outbound.signal_child_workflow(
421
430
  Temporalio::Worker::Interceptor::Workflow::SignalChildWorkflowInput.new(
@@ -424,12 +433,13 @@ module Temporalio
424
433
  args:,
425
434
  cancellation:,
426
435
  arg_hints: arg_hints || defn_arg_hints,
427
- headers: {}
436
+ headers: {},
437
+ event_groups:
428
438
  )
429
439
  )
430
440
  end
431
441
 
432
- def _signal_external_workflow(id:, run_id:, signal:, args:, cancellation:, arg_hints:)
442
+ def _signal_external_workflow(id:, run_id:, signal:, args:, cancellation:, arg_hints:, event_groups:)
433
443
  signal, defn_arg_hints = Workflow::Definition::Signal._name_and_hints_from_parameter(signal)
434
444
  @outbound.signal_external_workflow(
435
445
  Temporalio::Worker::Interceptor::Workflow::SignalExternalWorkflowInput.new(
@@ -439,7 +449,8 @@ module Temporalio
439
449
  args:,
440
450
  cancellation:,
441
451
  arg_hints: arg_hints || defn_arg_hints,
442
- headers: {}
452
+ headers: {},
453
+ event_groups:
443
454
  )
444
455
  )
445
456
  end
@@ -18,12 +18,14 @@ module Temporalio
18
18
  @instance = instance
19
19
  end
20
20
 
21
- def signal(signal, *args, cancellation: Workflow.cancellation, arg_hints: nil)
22
- @instance.context._signal_external_workflow(id:, run_id:, signal:, args:, cancellation:, arg_hints:)
21
+ def signal(signal, *args, cancellation: Workflow.cancellation, arg_hints: nil, event_groups: nil)
22
+ @instance.context._signal_external_workflow(
23
+ id:, run_id:, signal:, args:, cancellation:, arg_hints:, event_groups:
24
+ )
23
25
  end
24
26
 
25
- def cancel
26
- @instance.context._cancel_external_workflow(id:, run_id:)
27
+ def cancel(event_groups: nil)
28
+ @instance.context._cancel_external_workflow(id:, run_id:, event_groups:)
27
29
  end
28
30
  end
29
31
  end
@@ -19,7 +19,7 @@ module Temporalio
19
19
 
20
20
  def start_operation(operation, arg, schedule_to_close_timeout: nil, schedule_to_start_timeout: nil,
21
21
  start_to_close_timeout: nil, cancellation_type: nil, summary: nil,
22
- cancellation: Workflow.cancellation, arg_hint: nil, result_hint: nil)
22
+ cancellation: Workflow.cancellation, arg_hint: nil, result_hint: nil, event_groups: nil)
23
23
  @outbound.start_nexus_operation(
24
24
  Temporalio::Worker::Interceptor::Workflow::StartNexusOperationInput.new(
25
25
  endpoint: @endpoint,
@@ -34,7 +34,8 @@ module Temporalio
34
34
  cancellation:,
35
35
  arg_hint:,
36
36
  result_hint:,
37
- headers: {}
37
+ headers: {},
38
+ event_groups:
38
39
  )
39
40
  )
40
41
  end
@@ -31,6 +31,7 @@ module Temporalio
31
31
  def cancel_external_workflow(input)
32
32
  # Add command
33
33
  seq = (@external_cancel_counter += 1)
34
+ markers = Workflow::EventGroup._markers_for_command(input.event_groups)
34
35
  cmd = Bridge::Api::WorkflowCommands::RequestCancelExternalWorkflowExecution.new(
35
36
  seq:,
36
37
  workflow_execution: Bridge::Api::Common::NamespacedWorkflowExecution.new(
@@ -40,7 +41,10 @@ module Temporalio
40
41
  )
41
42
  )
42
43
  @instance.add_command(
43
- Bridge::Api::WorkflowCommands::WorkflowCommand.new(request_cancel_external_workflow_execution: cmd)
44
+ Bridge::Api::WorkflowCommands::WorkflowCommand.new(
45
+ request_cancel_external_workflow_execution: cmd,
46
+ event_group_markers: markers
47
+ )
44
48
  )
45
49
  @instance.pending_external_cancels[seq] = Fiber.current
46
50
 
@@ -64,7 +68,8 @@ module Temporalio
64
68
  end
65
69
 
66
70
  execute_activity_with_local_backoffs(local: false, cancellation: input.cancellation,
67
- result_hint: input.result_hint) do
71
+ result_hint: input.result_hint,
72
+ event_groups: input.event_groups) do |_do_backoff, event_group_markers|
68
73
  seq = (@activity_counter += 1)
69
74
  @instance.add_command(
70
75
  Bridge::Api::WorkflowCommands::WorkflowCommand.new(
@@ -86,7 +91,8 @@ module Temporalio
86
91
  do_not_eagerly_execute: input.disable_eager_execution,
87
92
  priority: input.priority._to_proto
88
93
  ),
89
- user_metadata: ProtoUtils.to_user_metadata(input.summary, nil, @instance.payload_converter)
94
+ user_metadata: ProtoUtils.to_user_metadata(input.summary, nil, @instance.payload_converter),
95
+ event_group_markers:
90
96
  )
91
97
  )
92
98
  seq
@@ -101,7 +107,8 @@ module Temporalio
101
107
  @instance.assert_valid_local_activity.call(input.activity)
102
108
 
103
109
  execute_activity_with_local_backoffs(local: true, cancellation: input.cancellation,
104
- result_hint: input.result_hint) do |do_backoff|
110
+ result_hint: input.result_hint,
111
+ event_groups: input.event_groups) do |do_backoff, event_group_markers|
105
112
  seq = (@activity_counter += 1)
106
113
  @instance.add_command(
107
114
  Bridge::Api::WorkflowCommands::WorkflowCommand.new(
@@ -122,14 +129,15 @@ module Temporalio
122
129
  attempt: do_backoff&.attempt || 0,
123
130
  original_schedule_time: do_backoff&.original_schedule_time
124
131
  ),
125
- user_metadata: ProtoUtils.to_user_metadata(input.summary, nil, @instance.payload_converter)
132
+ user_metadata: ProtoUtils.to_user_metadata(input.summary, nil, @instance.payload_converter),
133
+ event_group_markers:
126
134
  )
127
135
  )
128
136
  seq
129
137
  end
130
138
  end
131
139
 
132
- def execute_activity_with_local_backoffs(local:, cancellation:, result_hint:, &block)
140
+ def execute_activity_with_local_backoffs(local:, cancellation:, result_hint:, event_groups:, &block)
133
141
  # We do not even want to schedule if the cancellation is already cancelled. We choose to use canceled
134
142
  # failure instead of wrapping in activity failure which is similar to what other SDKs do, with the accepted
135
143
  # tradeoff that it makes rescue more difficult (hence the presence of Error.canceled? helper).
@@ -138,21 +146,26 @@ module Temporalio
138
146
  # This has to be done in a loop for local activity backoff
139
147
  last_local_backoff = nil
140
148
  loop do
141
- result = execute_activity_once(local:, cancellation:, last_local_backoff:, result_hint:, &block)
149
+ # Rebuild every attempt. The codec encodes label payloads in place, so a marker kept from
150
+ # the previous attempt would be encoded again. The ambient scope cannot change inside this loop.
151
+ event_group_markers = Workflow::EventGroup._markers_for_command(event_groups)
152
+ result = execute_activity_once(local:, cancellation:, last_local_backoff:, result_hint:,
153
+ event_group_markers:, &block)
142
154
  return result unless result.is_a?(Bridge::Api::ActivityResult::DoBackoff)
143
155
 
144
156
  # @type var result: untyped
145
157
  last_local_backoff = result
146
158
  # Have to sleep the amount of the backoff, which can be canceled with the same cancellation
147
159
  # TODO(cretz): What should this cancellation raise?
148
- Workflow.sleep(ProtoUtils.duration_to_seconds(result.backoff_duration), cancellation:)
160
+ Workflow.sleep(ProtoUtils.duration_to_seconds(result.backoff_duration), cancellation:, event_groups:)
149
161
  end
150
162
  end
151
163
 
152
164
  # If this doesn't raise, it returns success | DoBackoff
153
- def execute_activity_once(local:, cancellation:, last_local_backoff:, result_hint:, &block)
165
+ def execute_activity_once(local:, cancellation:, last_local_backoff:, result_hint:, event_group_markers:,
166
+ &block)
154
167
  # Add to pending activities (removed by the resolver)
155
- seq = block.call(last_local_backoff)
168
+ seq = block.call(last_local_backoff, event_group_markers)
156
169
  @instance.pending_activities[seq] = Fiber.current
157
170
 
158
171
  # Add cancellation hook
@@ -162,13 +175,17 @@ module Temporalio
162
175
  if local
163
176
  @instance.add_command(
164
177
  Bridge::Api::WorkflowCommands::WorkflowCommand.new(
165
- request_cancel_local_activity: Bridge::Api::WorkflowCommands::RequestCancelLocalActivity.new(seq:)
178
+ request_cancel_local_activity: Bridge::Api::WorkflowCommands::RequestCancelLocalActivity.new(
179
+ seq:
180
+ )
181
+ # The Cancel command will reuse EG markers from the original command
166
182
  )
167
183
  )
168
184
  else
169
185
  @instance.add_command(
170
186
  Bridge::Api::WorkflowCommands::WorkflowCommand.new(
171
187
  request_cancel_activity: Bridge::Api::WorkflowCommands::RequestCancelActivity.new(seq:)
188
+ # The Cancel command will reuse EG markers from the original command
172
189
  )
173
190
  )
174
191
  end
@@ -199,7 +216,7 @@ module Temporalio
199
216
  end
200
217
 
201
218
  def initialize_continue_as_new_error(input)
202
- # Do nothing
219
+ input.error.send(:_event_group_markers=, Workflow::EventGroup._markers_for_command(input.error.event_groups))
203
220
  end
204
221
 
205
222
  def signal_child_workflow(input)
@@ -211,7 +228,8 @@ module Temporalio
211
228
  args: input.args,
212
229
  cancellation: input.cancellation,
213
230
  arg_hints: input.arg_hints,
214
- headers: input.headers
231
+ headers: input.headers,
232
+ event_groups: input.event_groups
215
233
  )
216
234
  end
217
235
 
@@ -224,15 +242,18 @@ module Temporalio
224
242
  args: input.args,
225
243
  cancellation: input.cancellation,
226
244
  arg_hints: input.arg_hints,
227
- headers: input.headers
245
+ headers: input.headers,
246
+ event_groups: input.event_groups
228
247
  )
229
248
  end
230
249
 
231
- def _signal_external_workflow(id:, run_id:, child:, signal:, args:, cancellation:, arg_hints:, headers:)
250
+ def _signal_external_workflow(id:, run_id:, child:, signal:, args:, cancellation:, arg_hints:, headers:,
251
+ event_groups:)
232
252
  raise Error::CanceledError, 'Signal canceled before scheduled' if cancellation.canceled?
233
253
 
234
254
  # Add command
235
255
  seq = (@external_signal_counter += 1)
256
+ markers = Workflow::EventGroup._markers_for_command(event_groups)
236
257
  cmd = Bridge::Api::WorkflowCommands::SignalExternalWorkflowExecution.new(
237
258
  seq:,
238
259
  signal_name: signal,
@@ -249,7 +270,10 @@ module Temporalio
249
270
  )
250
271
  end
251
272
  @instance.add_command(
252
- Bridge::Api::WorkflowCommands::WorkflowCommand.new(signal_external_workflow_execution: cmd)
273
+ Bridge::Api::WorkflowCommands::WorkflowCommand.new(
274
+ signal_external_workflow_execution: cmd,
275
+ event_group_markers: markers
276
+ )
253
277
  )
254
278
  @instance.pending_external_signals[seq] = Fiber.current
255
279
 
@@ -301,13 +325,15 @@ module Temporalio
301
325
 
302
326
  # Add command
303
327
  seq = (@timer_counter += 1)
328
+ markers = Workflow::EventGroup._markers_for_command(input.event_groups)
304
329
  @instance.add_command(
305
330
  Bridge::Api::WorkflowCommands::WorkflowCommand.new(
306
331
  start_timer: Bridge::Api::WorkflowCommands::StartTimer.new(
307
332
  seq:,
308
333
  start_to_fire_timeout: ProtoUtils.seconds_to_duration(duration)
309
334
  ),
310
- user_metadata: ProtoUtils.to_user_metadata(input.summary, nil, @instance.payload_converter)
335
+ user_metadata: ProtoUtils.to_user_metadata(input.summary, nil, @instance.payload_converter),
336
+ event_group_markers: markers
311
337
  )
312
338
  )
313
339
  @instance.pending_timers[seq] = Fiber.current
@@ -321,6 +347,7 @@ module Temporalio
321
347
  @instance.add_command(
322
348
  Bridge::Api::WorkflowCommands::WorkflowCommand.new(
323
349
  cancel_timer: Bridge::Api::WorkflowCommands::CancelTimer.new(seq:)
350
+ # The Cancel command will reuse EG markers from the original command
324
351
  )
325
352
  )
326
353
  if fiber.alive?
@@ -346,6 +373,7 @@ module Temporalio
346
373
 
347
374
  # Add the command
348
375
  seq = (@child_counter += 1)
376
+ markers = Workflow::EventGroup._markers_for_command(input.event_groups)
349
377
  @instance.add_command(
350
378
  Bridge::Api::WorkflowCommands::WorkflowCommand.new(
351
379
  start_child_workflow_execution: Bridge::Api::WorkflowCommands::StartChildWorkflowExecution.new(
@@ -372,7 +400,8 @@ module Temporalio
372
400
  ),
373
401
  user_metadata: ProtoUtils.to_user_metadata(
374
402
  input.static_summary, input.static_details, @instance.payload_converter
375
- )
403
+ ),
404
+ event_group_markers: markers
376
405
  )
377
406
  )
378
407
 
@@ -387,6 +416,7 @@ module Temporalio
387
416
  cancel_child_workflow_execution: Bridge::Api::WorkflowCommands::CancelChildWorkflowExecution.new(
388
417
  child_workflow_seq: seq
389
418
  )
419
+ # The Cancel command will reuse EG markers from the original command
390
420
  )
391
421
  )
392
422
  end
@@ -455,6 +485,7 @@ module Temporalio
455
485
 
456
486
  # Add the command
457
487
  seq = (@nexus_operation_counter += 1)
488
+ markers = Workflow::EventGroup._markers_for_command(input.event_groups)
458
489
  @instance.add_command(
459
490
  Bridge::Api::WorkflowCommands::WorkflowCommand.new(
460
491
  schedule_nexus_operation: Bridge::Api::WorkflowCommands::ScheduleNexusOperation.new(
@@ -469,7 +500,8 @@ module Temporalio
469
500
  nexus_header: input.headers,
470
501
  cancellation_type: input.cancellation_type
471
502
  ),
472
- user_metadata: ProtoUtils.to_user_metadata(input.summary, nil, @instance.payload_converter)
503
+ user_metadata: ProtoUtils.to_user_metadata(input.summary, nil, @instance.payload_converter),
504
+ event_group_markers: markers
473
505
  )
474
506
  )
475
507
 
@@ -486,6 +518,7 @@ module Temporalio
486
518
  request_cancel_nexus_operation: Bridge::Api::WorkflowCommands::RequestCancelNexusOperation.new(
487
519
  seq:
488
520
  )
521
+ # The Cancel command will reuse EG markers from the original command
489
522
  )
490
523
  )
491
524
  end
@@ -42,6 +42,10 @@ module Temporalio
42
42
  # wait condition so the condition sees the workflow after all runnable work has settled.
43
43
  next if wait_for_thread_blocking_fiber
44
44
 
45
+ # Queries and rejected updates leave nothing in history, so a condition they let through (e.g. one on a
46
+ # value refreshed every activation) could not unblock on replay.
47
+ return unless @instance.check_conditions
48
+
45
49
  # Find the _first_ resolvable wait condition and if there, resolve it, and loop again, otherwise return.
46
50
  # It is important that we both let fibers get all settled _before_ this and only allow a _single_ wait
47
51
  # condition to be satisfied before looping. This allows wait condition users to trust that the line of
@@ -166,7 +170,7 @@ module Temporalio
166
170
  end
167
171
 
168
172
  fiber = Fiber.new do
169
- block.call # steep:ignore
173
+ block.call
170
174
  ensure
171
175
  @fibers.delete(Fiber.current)
172
176
  end
@@ -214,7 +218,9 @@ module Temporalio
214
218
  end
215
219
 
216
220
  def timeout_after(duration, exception_class, *exception_arguments, &)
217
- context.timeout(duration, exception_class, *exception_arguments, summary: 'Timeout timer', &)
221
+ context.timeout(
222
+ duration, exception_class, *exception_arguments, summary: 'Timeout timer', event_groups: nil, &
223
+ )
218
224
  end
219
225
 
220
226
  def unblock(_blocker, fiber)