temporalio 0.3.0-x86_64-linux → 0.5.0-x86_64-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 (152) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -1
  3. data/Gemfile +4 -0
  4. data/Rakefile +1 -1
  5. data/lib/temporalio/activity/cancellation_details.rb +58 -0
  6. data/lib/temporalio/activity/context.rb +23 -1
  7. data/lib/temporalio/activity/definition.rb +63 -8
  8. data/lib/temporalio/activity/info.rb +28 -4
  9. data/lib/temporalio/activity.rb +2 -0
  10. data/lib/temporalio/api/activity/v1/message.rb +1 -1
  11. data/lib/temporalio/api/batch/v1/message.rb +9 -2
  12. data/lib/temporalio/api/cloud/account/v1/message.rb +1 -1
  13. data/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb +11 -2
  14. data/lib/temporalio/api/cloud/cloudservice/v1/service.rb +2 -2
  15. data/lib/temporalio/api/cloud/identity/v1/message.rb +7 -2
  16. data/lib/temporalio/api/cloud/namespace/v1/message.rb +6 -2
  17. data/lib/temporalio/api/cloud/nexus/v1/message.rb +3 -2
  18. data/lib/temporalio/api/cloud/operation/v1/message.rb +1 -1
  19. data/lib/temporalio/api/cloud/region/v1/message.rb +1 -1
  20. data/lib/temporalio/api/cloud/resource/v1/message.rb +1 -1
  21. data/lib/temporalio/api/cloud/sink/v1/message.rb +1 -1
  22. data/lib/temporalio/api/cloud/usage/v1/message.rb +1 -1
  23. data/lib/temporalio/api/command/v1/message.rb +2 -2
  24. data/lib/temporalio/api/common/v1/grpc_status.rb +1 -1
  25. data/lib/temporalio/api/common/v1/message.rb +4 -2
  26. data/lib/temporalio/api/deployment/v1/message.rb +39 -0
  27. data/lib/temporalio/api/enums/v1/batch_operation.rb +2 -2
  28. data/lib/temporalio/api/enums/v1/command_type.rb +1 -1
  29. data/lib/temporalio/api/enums/v1/common.rb +5 -2
  30. data/lib/temporalio/api/enums/v1/deployment.rb +24 -0
  31. data/lib/temporalio/api/enums/v1/event_type.rb +2 -2
  32. data/lib/temporalio/api/enums/v1/failed_cause.rb +2 -2
  33. data/lib/temporalio/api/enums/v1/namespace.rb +1 -1
  34. data/lib/temporalio/api/enums/v1/nexus.rb +21 -0
  35. data/lib/temporalio/api/enums/v1/query.rb +1 -1
  36. data/lib/temporalio/api/enums/v1/reset.rb +2 -2
  37. data/lib/temporalio/api/enums/v1/schedule.rb +1 -1
  38. data/lib/temporalio/api/enums/v1/task_queue.rb +1 -1
  39. data/lib/temporalio/api/enums/v1/update.rb +1 -1
  40. data/lib/temporalio/api/enums/v1/workflow.rb +3 -2
  41. data/lib/temporalio/api/errordetails/v1/message.rb +4 -2
  42. data/lib/temporalio/api/export/v1/message.rb +1 -1
  43. data/lib/temporalio/api/failure/v1/message.rb +5 -2
  44. data/lib/temporalio/api/filter/v1/message.rb +1 -1
  45. data/lib/temporalio/api/history/v1/message.rb +6 -2
  46. data/lib/temporalio/api/namespace/v1/message.rb +1 -1
  47. data/lib/temporalio/api/nexus/v1/message.rb +3 -2
  48. data/lib/temporalio/api/operatorservice/v1/request_response.rb +1 -1
  49. data/lib/temporalio/api/operatorservice/v1/service.rb +1 -1
  50. data/lib/temporalio/api/payload_visitor.rb +162 -7
  51. data/lib/temporalio/api/protocol/v1/message.rb +1 -1
  52. data/lib/temporalio/api/query/v1/message.rb +3 -2
  53. data/lib/temporalio/api/replication/v1/message.rb +1 -1
  54. data/lib/temporalio/api/rules/v1/message.rb +27 -0
  55. data/lib/temporalio/api/schedule/v1/message.rb +2 -2
  56. data/lib/temporalio/api/sdk/v1/enhanced_stack_trace.rb +1 -1
  57. data/lib/temporalio/api/sdk/v1/task_complete_metadata.rb +1 -1
  58. data/lib/temporalio/api/sdk/v1/user_metadata.rb +1 -1
  59. data/lib/temporalio/api/sdk/v1/workflow_metadata.rb +1 -1
  60. data/lib/temporalio/api/taskqueue/v1/message.rb +5 -2
  61. data/lib/temporalio/api/testservice/v1/request_response.rb +1 -1
  62. data/lib/temporalio/api/testservice/v1/service.rb +1 -1
  63. data/lib/temporalio/api/update/v1/message.rb +1 -1
  64. data/lib/temporalio/api/version/v1/message.rb +1 -1
  65. data/lib/temporalio/api/worker/v1/message.rb +30 -0
  66. data/lib/temporalio/api/workflow/v1/message.rb +22 -2
  67. data/lib/temporalio/api/workflowservice/v1/request_response.rb +58 -12
  68. data/lib/temporalio/api/workflowservice/v1/service.rb +2 -2
  69. data/lib/temporalio/api.rb +1 -0
  70. data/lib/temporalio/client/async_activity_handle.rb +12 -4
  71. data/lib/temporalio/client/connection/cloud_service.rb +60 -0
  72. data/lib/temporalio/client/connection/workflow_service.rb +343 -28
  73. data/lib/temporalio/client/interceptor.rb +64 -7
  74. data/lib/temporalio/client/schedule.rb +35 -3
  75. data/lib/temporalio/client/with_start_workflow_operation.rb +123 -0
  76. data/lib/temporalio/client/workflow_execution.rb +19 -0
  77. data/lib/temporalio/client/workflow_handle.rb +47 -7
  78. data/lib/temporalio/client/workflow_update_handle.rb +9 -3
  79. data/lib/temporalio/client.rb +231 -4
  80. data/lib/temporalio/common_enums.rb +14 -0
  81. data/lib/temporalio/contrib/open_telemetry.rb +474 -0
  82. data/lib/temporalio/converters/data_converter.rb +18 -8
  83. data/lib/temporalio/converters/failure_converter.rb +6 -3
  84. data/lib/temporalio/converters/payload_converter/binary_null.rb +2 -2
  85. data/lib/temporalio/converters/payload_converter/binary_plain.rb +2 -2
  86. data/lib/temporalio/converters/payload_converter/binary_protobuf.rb +2 -2
  87. data/lib/temporalio/converters/payload_converter/composite.rb +6 -4
  88. data/lib/temporalio/converters/payload_converter/encoding.rb +4 -2
  89. data/lib/temporalio/converters/payload_converter/json_plain.rb +2 -2
  90. data/lib/temporalio/converters/payload_converter/json_protobuf.rb +2 -2
  91. data/lib/temporalio/converters/payload_converter.rb +16 -6
  92. data/lib/temporalio/error/failure.rb +19 -1
  93. data/lib/temporalio/error.rb +2 -1
  94. data/lib/temporalio/internal/bridge/3.2/temporalio_bridge.so +0 -0
  95. data/lib/temporalio/internal/bridge/3.3/temporalio_bridge.so +0 -0
  96. data/lib/temporalio/internal/bridge/3.4/temporalio_bridge.so +0 -0
  97. data/lib/temporalio/internal/bridge/api/activity_result/activity_result.rb +1 -1
  98. data/lib/temporalio/internal/bridge/api/activity_task/activity_task.rb +3 -2
  99. data/lib/temporalio/internal/bridge/api/child_workflow/child_workflow.rb +1 -1
  100. data/lib/temporalio/internal/bridge/api/common/common.rb +3 -2
  101. data/lib/temporalio/internal/bridge/api/core_interface.rb +1 -1
  102. data/lib/temporalio/internal/bridge/api/external_data/external_data.rb +1 -1
  103. data/lib/temporalio/internal/bridge/api/nexus/nexus.rb +3 -2
  104. data/lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb +2 -2
  105. data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +3 -2
  106. data/lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb +3 -2
  107. data/lib/temporalio/internal/bridge/runtime.rb +3 -0
  108. data/lib/temporalio/internal/bridge/testing.rb +3 -0
  109. data/lib/temporalio/internal/bridge/worker.rb +28 -4
  110. data/lib/temporalio/internal/bridge.rb +1 -1
  111. data/lib/temporalio/internal/client/implementation.rb +281 -51
  112. data/lib/temporalio/internal/proto_utils.rb +38 -6
  113. data/lib/temporalio/internal/worker/activity_worker.rb +112 -27
  114. data/lib/temporalio/internal/worker/multi_runner.rb +2 -2
  115. data/lib/temporalio/internal/worker/workflow_instance/child_workflow_handle.rb +8 -6
  116. data/lib/temporalio/internal/worker/workflow_instance/context.rb +100 -5
  117. data/lib/temporalio/internal/worker/workflow_instance/details.rb +7 -2
  118. data/lib/temporalio/internal/worker/workflow_instance/external_workflow_handle.rb +2 -2
  119. data/lib/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rb +64 -18
  120. data/lib/temporalio/internal/worker/workflow_instance/outbound_implementation.rb +39 -40
  121. data/lib/temporalio/internal/worker/workflow_instance/scheduler.rb +22 -2
  122. data/lib/temporalio/internal/worker/workflow_instance.rb +134 -55
  123. data/lib/temporalio/internal/worker/workflow_worker.rb +74 -21
  124. data/lib/temporalio/priority.rb +59 -0
  125. data/lib/temporalio/runtime/metric_buffer.rb +94 -0
  126. data/lib/temporalio/runtime.rb +48 -10
  127. data/lib/temporalio/search_attributes.rb +13 -0
  128. data/lib/temporalio/testing/activity_environment.rb +59 -16
  129. data/lib/temporalio/testing/workflow_environment.rb +29 -6
  130. data/lib/temporalio/version.rb +1 -1
  131. data/lib/temporalio/versioning_override.rb +56 -0
  132. data/lib/temporalio/worker/deployment_options.rb +45 -0
  133. data/lib/temporalio/worker/illegal_workflow_call_validator.rb +64 -0
  134. data/lib/temporalio/worker/interceptor.rb +16 -1
  135. data/lib/temporalio/worker/poller_behavior.rb +61 -0
  136. data/lib/temporalio/worker/thread_pool.rb +6 -6
  137. data/lib/temporalio/worker/tuner.rb +38 -0
  138. data/lib/temporalio/worker/workflow_executor/thread_pool.rb +14 -8
  139. data/lib/temporalio/worker/workflow_executor.rb +1 -1
  140. data/lib/temporalio/worker/workflow_replayer.rb +349 -0
  141. data/lib/temporalio/worker.rb +117 -75
  142. data/lib/temporalio/worker_deployment_version.rb +67 -0
  143. data/lib/temporalio/workflow/child_workflow_handle.rb +10 -2
  144. data/lib/temporalio/workflow/definition.rb +217 -35
  145. data/lib/temporalio/workflow/external_workflow_handle.rb +3 -1
  146. data/lib/temporalio/workflow/future.rb +2 -2
  147. data/lib/temporalio/workflow/info.rb +26 -1
  148. data/lib/temporalio/workflow.rb +119 -15
  149. data/lib/temporalio/workflow_history.rb +26 -1
  150. data/lib/temporalio.rb +1 -0
  151. data/temporalio.gemspec +3 -1
  152. metadata +34 -4
@@ -841,6 +841,201 @@ module Temporalio
841
841
  )
842
842
  end
843
843
 
844
+ # Calls WorkflowService.DescribeDeployment API call.
845
+ #
846
+ # @param request [Temporalio::Api::WorkflowService::V1::DescribeDeploymentRequest] API request.
847
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
848
+ # @return [Temporalio::Api::WorkflowService::V1::DescribeDeploymentResponse] API response.
849
+ def describe_deployment(request, rpc_options: nil)
850
+ invoke_rpc(
851
+ rpc: 'describe_deployment',
852
+ request_class: Temporalio::Api::WorkflowService::V1::DescribeDeploymentRequest,
853
+ response_class: Temporalio::Api::WorkflowService::V1::DescribeDeploymentResponse,
854
+ request:,
855
+ rpc_options:
856
+ )
857
+ end
858
+
859
+ # Calls WorkflowService.DescribeWorkerDeploymentVersion API call.
860
+ #
861
+ # @param request [Temporalio::Api::WorkflowService::V1::DescribeWorkerDeploymentVersionRequest] API request.
862
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
863
+ # @return [Temporalio::Api::WorkflowService::V1::DescribeWorkerDeploymentVersionResponse] API response.
864
+ def describe_worker_deployment_version(request, rpc_options: nil)
865
+ invoke_rpc(
866
+ rpc: 'describe_worker_deployment_version',
867
+ request_class: Temporalio::Api::WorkflowService::V1::DescribeWorkerDeploymentVersionRequest,
868
+ response_class: Temporalio::Api::WorkflowService::V1::DescribeWorkerDeploymentVersionResponse,
869
+ request:,
870
+ rpc_options:
871
+ )
872
+ end
873
+
874
+ # Calls WorkflowService.ListDeployments API call.
875
+ #
876
+ # @param request [Temporalio::Api::WorkflowService::V1::ListDeploymentsRequest] API request.
877
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
878
+ # @return [Temporalio::Api::WorkflowService::V1::ListDeploymentsResponse] API response.
879
+ def list_deployments(request, rpc_options: nil)
880
+ invoke_rpc(
881
+ rpc: 'list_deployments',
882
+ request_class: Temporalio::Api::WorkflowService::V1::ListDeploymentsRequest,
883
+ response_class: Temporalio::Api::WorkflowService::V1::ListDeploymentsResponse,
884
+ request:,
885
+ rpc_options:
886
+ )
887
+ end
888
+
889
+ # Calls WorkflowService.GetDeploymentReachability API call.
890
+ #
891
+ # @param request [Temporalio::Api::WorkflowService::V1::GetDeploymentReachabilityRequest] API request.
892
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
893
+ # @return [Temporalio::Api::WorkflowService::V1::GetDeploymentReachabilityResponse] API response.
894
+ def get_deployment_reachability(request, rpc_options: nil)
895
+ invoke_rpc(
896
+ rpc: 'get_deployment_reachability',
897
+ request_class: Temporalio::Api::WorkflowService::V1::GetDeploymentReachabilityRequest,
898
+ response_class: Temporalio::Api::WorkflowService::V1::GetDeploymentReachabilityResponse,
899
+ request:,
900
+ rpc_options:
901
+ )
902
+ end
903
+
904
+ # Calls WorkflowService.GetCurrentDeployment API call.
905
+ #
906
+ # @param request [Temporalio::Api::WorkflowService::V1::GetCurrentDeploymentRequest] API request.
907
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
908
+ # @return [Temporalio::Api::WorkflowService::V1::GetCurrentDeploymentResponse] API response.
909
+ def get_current_deployment(request, rpc_options: nil)
910
+ invoke_rpc(
911
+ rpc: 'get_current_deployment',
912
+ request_class: Temporalio::Api::WorkflowService::V1::GetCurrentDeploymentRequest,
913
+ response_class: Temporalio::Api::WorkflowService::V1::GetCurrentDeploymentResponse,
914
+ request:,
915
+ rpc_options:
916
+ )
917
+ end
918
+
919
+ # Calls WorkflowService.SetCurrentDeployment API call.
920
+ #
921
+ # @param request [Temporalio::Api::WorkflowService::V1::SetCurrentDeploymentRequest] API request.
922
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
923
+ # @return [Temporalio::Api::WorkflowService::V1::SetCurrentDeploymentResponse] API response.
924
+ def set_current_deployment(request, rpc_options: nil)
925
+ invoke_rpc(
926
+ rpc: 'set_current_deployment',
927
+ request_class: Temporalio::Api::WorkflowService::V1::SetCurrentDeploymentRequest,
928
+ response_class: Temporalio::Api::WorkflowService::V1::SetCurrentDeploymentResponse,
929
+ request:,
930
+ rpc_options:
931
+ )
932
+ end
933
+
934
+ # Calls WorkflowService.SetWorkerDeploymentCurrentVersion API call.
935
+ #
936
+ # @param request [Temporalio::Api::WorkflowService::V1::SetWorkerDeploymentCurrentVersionRequest] API request.
937
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
938
+ # @return [Temporalio::Api::WorkflowService::V1::SetWorkerDeploymentCurrentVersionResponse] API response.
939
+ def set_worker_deployment_current_version(request, rpc_options: nil)
940
+ invoke_rpc(
941
+ rpc: 'set_worker_deployment_current_version',
942
+ request_class: Temporalio::Api::WorkflowService::V1::SetWorkerDeploymentCurrentVersionRequest,
943
+ response_class: Temporalio::Api::WorkflowService::V1::SetWorkerDeploymentCurrentVersionResponse,
944
+ request:,
945
+ rpc_options:
946
+ )
947
+ end
948
+
949
+ # Calls WorkflowService.DescribeWorkerDeployment API call.
950
+ #
951
+ # @param request [Temporalio::Api::WorkflowService::V1::DescribeWorkerDeploymentRequest] API request.
952
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
953
+ # @return [Temporalio::Api::WorkflowService::V1::DescribeWorkerDeploymentResponse] API response.
954
+ def describe_worker_deployment(request, rpc_options: nil)
955
+ invoke_rpc(
956
+ rpc: 'describe_worker_deployment',
957
+ request_class: Temporalio::Api::WorkflowService::V1::DescribeWorkerDeploymentRequest,
958
+ response_class: Temporalio::Api::WorkflowService::V1::DescribeWorkerDeploymentResponse,
959
+ request:,
960
+ rpc_options:
961
+ )
962
+ end
963
+
964
+ # Calls WorkflowService.DeleteWorkerDeployment API call.
965
+ #
966
+ # @param request [Temporalio::Api::WorkflowService::V1::DeleteWorkerDeploymentRequest] API request.
967
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
968
+ # @return [Temporalio::Api::WorkflowService::V1::DeleteWorkerDeploymentResponse] API response.
969
+ def delete_worker_deployment(request, rpc_options: nil)
970
+ invoke_rpc(
971
+ rpc: 'delete_worker_deployment',
972
+ request_class: Temporalio::Api::WorkflowService::V1::DeleteWorkerDeploymentRequest,
973
+ response_class: Temporalio::Api::WorkflowService::V1::DeleteWorkerDeploymentResponse,
974
+ request:,
975
+ rpc_options:
976
+ )
977
+ end
978
+
979
+ # Calls WorkflowService.DeleteWorkerDeploymentVersion API call.
980
+ #
981
+ # @param request [Temporalio::Api::WorkflowService::V1::DeleteWorkerDeploymentVersionRequest] API request.
982
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
983
+ # @return [Temporalio::Api::WorkflowService::V1::DeleteWorkerDeploymentVersionResponse] API response.
984
+ def delete_worker_deployment_version(request, rpc_options: nil)
985
+ invoke_rpc(
986
+ rpc: 'delete_worker_deployment_version',
987
+ request_class: Temporalio::Api::WorkflowService::V1::DeleteWorkerDeploymentVersionRequest,
988
+ response_class: Temporalio::Api::WorkflowService::V1::DeleteWorkerDeploymentVersionResponse,
989
+ request:,
990
+ rpc_options:
991
+ )
992
+ end
993
+
994
+ # Calls WorkflowService.SetWorkerDeploymentRampingVersion API call.
995
+ #
996
+ # @param request [Temporalio::Api::WorkflowService::V1::SetWorkerDeploymentRampingVersionRequest] API request.
997
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
998
+ # @return [Temporalio::Api::WorkflowService::V1::SetWorkerDeploymentRampingVersionResponse] API response.
999
+ def set_worker_deployment_ramping_version(request, rpc_options: nil)
1000
+ invoke_rpc(
1001
+ rpc: 'set_worker_deployment_ramping_version',
1002
+ request_class: Temporalio::Api::WorkflowService::V1::SetWorkerDeploymentRampingVersionRequest,
1003
+ response_class: Temporalio::Api::WorkflowService::V1::SetWorkerDeploymentRampingVersionResponse,
1004
+ request:,
1005
+ rpc_options:
1006
+ )
1007
+ end
1008
+
1009
+ # Calls WorkflowService.ListWorkerDeployments API call.
1010
+ #
1011
+ # @param request [Temporalio::Api::WorkflowService::V1::ListWorkerDeploymentsRequest] API request.
1012
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1013
+ # @return [Temporalio::Api::WorkflowService::V1::ListWorkerDeploymentsResponse] API response.
1014
+ def list_worker_deployments(request, rpc_options: nil)
1015
+ invoke_rpc(
1016
+ rpc: 'list_worker_deployments',
1017
+ request_class: Temporalio::Api::WorkflowService::V1::ListWorkerDeploymentsRequest,
1018
+ response_class: Temporalio::Api::WorkflowService::V1::ListWorkerDeploymentsResponse,
1019
+ request:,
1020
+ rpc_options:
1021
+ )
1022
+ end
1023
+
1024
+ # Calls WorkflowService.UpdateWorkerDeploymentVersionMetadata API call.
1025
+ #
1026
+ # @param request [Temporalio::Api::WorkflowService::V1::UpdateWorkerDeploymentVersionMetadataRequest] API request.
1027
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1028
+ # @return [Temporalio::Api::WorkflowService::V1::UpdateWorkerDeploymentVersionMetadataResponse] API response.
1029
+ def update_worker_deployment_version_metadata(request, rpc_options: nil)
1030
+ invoke_rpc(
1031
+ rpc: 'update_worker_deployment_version_metadata',
1032
+ request_class: Temporalio::Api::WorkflowService::V1::UpdateWorkerDeploymentVersionMetadataRequest,
1033
+ response_class: Temporalio::Api::WorkflowService::V1::UpdateWorkerDeploymentVersionMetadataResponse,
1034
+ request:,
1035
+ rpc_options:
1036
+ )
1037
+ end
1038
+
844
1039
  # Calls WorkflowService.UpdateWorkflowExecution API call.
845
1040
  #
846
1041
  # @param request [Temporalio::Api::WorkflowService::V1::UpdateWorkflowExecutionRequest] API request.
@@ -976,61 +1171,181 @@ module Temporalio
976
1171
  )
977
1172
  end
978
1173
 
979
- # Calls WorkflowService.UpdateActivityOptionsById API call.
1174
+ # Calls WorkflowService.UpdateActivityOptions API call.
1175
+ #
1176
+ # @param request [Temporalio::Api::WorkflowService::V1::UpdateActivityOptionsRequest] API request.
1177
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1178
+ # @return [Temporalio::Api::WorkflowService::V1::UpdateActivityOptionsResponse] API response.
1179
+ def update_activity_options(request, rpc_options: nil)
1180
+ invoke_rpc(
1181
+ rpc: 'update_activity_options',
1182
+ request_class: Temporalio::Api::WorkflowService::V1::UpdateActivityOptionsRequest,
1183
+ response_class: Temporalio::Api::WorkflowService::V1::UpdateActivityOptionsResponse,
1184
+ request:,
1185
+ rpc_options:
1186
+ )
1187
+ end
1188
+
1189
+ # Calls WorkflowService.UpdateWorkflowExecutionOptions API call.
1190
+ #
1191
+ # @param request [Temporalio::Api::WorkflowService::V1::UpdateWorkflowExecutionOptionsRequest] API request.
1192
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1193
+ # @return [Temporalio::Api::WorkflowService::V1::UpdateWorkflowExecutionOptionsResponse] API response.
1194
+ def update_workflow_execution_options(request, rpc_options: nil)
1195
+ invoke_rpc(
1196
+ rpc: 'update_workflow_execution_options',
1197
+ request_class: Temporalio::Api::WorkflowService::V1::UpdateWorkflowExecutionOptionsRequest,
1198
+ response_class: Temporalio::Api::WorkflowService::V1::UpdateWorkflowExecutionOptionsResponse,
1199
+ request:,
1200
+ rpc_options:
1201
+ )
1202
+ end
1203
+
1204
+ # Calls WorkflowService.PauseActivity API call.
1205
+ #
1206
+ # @param request [Temporalio::Api::WorkflowService::V1::PauseActivityRequest] API request.
1207
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1208
+ # @return [Temporalio::Api::WorkflowService::V1::PauseActivityResponse] API response.
1209
+ def pause_activity(request, rpc_options: nil)
1210
+ invoke_rpc(
1211
+ rpc: 'pause_activity',
1212
+ request_class: Temporalio::Api::WorkflowService::V1::PauseActivityRequest,
1213
+ response_class: Temporalio::Api::WorkflowService::V1::PauseActivityResponse,
1214
+ request:,
1215
+ rpc_options:
1216
+ )
1217
+ end
1218
+
1219
+ # Calls WorkflowService.UnpauseActivity API call.
1220
+ #
1221
+ # @param request [Temporalio::Api::WorkflowService::V1::UnpauseActivityRequest] API request.
1222
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1223
+ # @return [Temporalio::Api::WorkflowService::V1::UnpauseActivityResponse] API response.
1224
+ def unpause_activity(request, rpc_options: nil)
1225
+ invoke_rpc(
1226
+ rpc: 'unpause_activity',
1227
+ request_class: Temporalio::Api::WorkflowService::V1::UnpauseActivityRequest,
1228
+ response_class: Temporalio::Api::WorkflowService::V1::UnpauseActivityResponse,
1229
+ request:,
1230
+ rpc_options:
1231
+ )
1232
+ end
1233
+
1234
+ # Calls WorkflowService.ResetActivity API call.
1235
+ #
1236
+ # @param request [Temporalio::Api::WorkflowService::V1::ResetActivityRequest] API request.
1237
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1238
+ # @return [Temporalio::Api::WorkflowService::V1::ResetActivityResponse] API response.
1239
+ def reset_activity(request, rpc_options: nil)
1240
+ invoke_rpc(
1241
+ rpc: 'reset_activity',
1242
+ request_class: Temporalio::Api::WorkflowService::V1::ResetActivityRequest,
1243
+ response_class: Temporalio::Api::WorkflowService::V1::ResetActivityResponse,
1244
+ request:,
1245
+ rpc_options:
1246
+ )
1247
+ end
1248
+
1249
+ # Calls WorkflowService.CreateWorkflowRule API call.
1250
+ #
1251
+ # @param request [Temporalio::Api::WorkflowService::V1::CreateWorkflowRuleRequest] API request.
1252
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1253
+ # @return [Temporalio::Api::WorkflowService::V1::CreateWorkflowRuleResponse] API response.
1254
+ def create_workflow_rule(request, rpc_options: nil)
1255
+ invoke_rpc(
1256
+ rpc: 'create_workflow_rule',
1257
+ request_class: Temporalio::Api::WorkflowService::V1::CreateWorkflowRuleRequest,
1258
+ response_class: Temporalio::Api::WorkflowService::V1::CreateWorkflowRuleResponse,
1259
+ request:,
1260
+ rpc_options:
1261
+ )
1262
+ end
1263
+
1264
+ # Calls WorkflowService.DescribeWorkflowRule API call.
1265
+ #
1266
+ # @param request [Temporalio::Api::WorkflowService::V1::DescribeWorkflowRuleRequest] API request.
1267
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1268
+ # @return [Temporalio::Api::WorkflowService::V1::DescribeWorkflowRuleResponse] API response.
1269
+ def describe_workflow_rule(request, rpc_options: nil)
1270
+ invoke_rpc(
1271
+ rpc: 'describe_workflow_rule',
1272
+ request_class: Temporalio::Api::WorkflowService::V1::DescribeWorkflowRuleRequest,
1273
+ response_class: Temporalio::Api::WorkflowService::V1::DescribeWorkflowRuleResponse,
1274
+ request:,
1275
+ rpc_options:
1276
+ )
1277
+ end
1278
+
1279
+ # Calls WorkflowService.DeleteWorkflowRule API call.
1280
+ #
1281
+ # @param request [Temporalio::Api::WorkflowService::V1::DeleteWorkflowRuleRequest] API request.
1282
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1283
+ # @return [Temporalio::Api::WorkflowService::V1::DeleteWorkflowRuleResponse] API response.
1284
+ def delete_workflow_rule(request, rpc_options: nil)
1285
+ invoke_rpc(
1286
+ rpc: 'delete_workflow_rule',
1287
+ request_class: Temporalio::Api::WorkflowService::V1::DeleteWorkflowRuleRequest,
1288
+ response_class: Temporalio::Api::WorkflowService::V1::DeleteWorkflowRuleResponse,
1289
+ request:,
1290
+ rpc_options:
1291
+ )
1292
+ end
1293
+
1294
+ # Calls WorkflowService.ListWorkflowRules API call.
980
1295
  #
981
- # @param request [Temporalio::Api::WorkflowService::V1::UpdateActivityOptionsByIdRequest] API request.
1296
+ # @param request [Temporalio::Api::WorkflowService::V1::ListWorkflowRulesRequest] API request.
982
1297
  # @param rpc_options [RPCOptions, nil] Advanced RPC options.
983
- # @return [Temporalio::Api::WorkflowService::V1::UpdateActivityOptionsByIdResponse] API response.
984
- def update_activity_options_by_id(request, rpc_options: nil)
1298
+ # @return [Temporalio::Api::WorkflowService::V1::ListWorkflowRulesResponse] API response.
1299
+ def list_workflow_rules(request, rpc_options: nil)
985
1300
  invoke_rpc(
986
- rpc: 'update_activity_options_by_id',
987
- request_class: Temporalio::Api::WorkflowService::V1::UpdateActivityOptionsByIdRequest,
988
- response_class: Temporalio::Api::WorkflowService::V1::UpdateActivityOptionsByIdResponse,
1301
+ rpc: 'list_workflow_rules',
1302
+ request_class: Temporalio::Api::WorkflowService::V1::ListWorkflowRulesRequest,
1303
+ response_class: Temporalio::Api::WorkflowService::V1::ListWorkflowRulesResponse,
989
1304
  request:,
990
1305
  rpc_options:
991
1306
  )
992
1307
  end
993
1308
 
994
- # Calls WorkflowService.PauseActivityById API call.
1309
+ # Calls WorkflowService.TriggerWorkflowRule API call.
995
1310
  #
996
- # @param request [Temporalio::Api::WorkflowService::V1::PauseActivityByIdRequest] API request.
1311
+ # @param request [Temporalio::Api::WorkflowService::V1::TriggerWorkflowRuleRequest] API request.
997
1312
  # @param rpc_options [RPCOptions, nil] Advanced RPC options.
998
- # @return [Temporalio::Api::WorkflowService::V1::PauseActivityByIdResponse] API response.
999
- def pause_activity_by_id(request, rpc_options: nil)
1313
+ # @return [Temporalio::Api::WorkflowService::V1::TriggerWorkflowRuleResponse] API response.
1314
+ def trigger_workflow_rule(request, rpc_options: nil)
1000
1315
  invoke_rpc(
1001
- rpc: 'pause_activity_by_id',
1002
- request_class: Temporalio::Api::WorkflowService::V1::PauseActivityByIdRequest,
1003
- response_class: Temporalio::Api::WorkflowService::V1::PauseActivityByIdResponse,
1316
+ rpc: 'trigger_workflow_rule',
1317
+ request_class: Temporalio::Api::WorkflowService::V1::TriggerWorkflowRuleRequest,
1318
+ response_class: Temporalio::Api::WorkflowService::V1::TriggerWorkflowRuleResponse,
1004
1319
  request:,
1005
1320
  rpc_options:
1006
1321
  )
1007
1322
  end
1008
1323
 
1009
- # Calls WorkflowService.UnpauseActivityById API call.
1324
+ # Calls WorkflowService.RecordWorkerHeartbeat API call.
1010
1325
  #
1011
- # @param request [Temporalio::Api::WorkflowService::V1::UnpauseActivityByIdRequest] API request.
1326
+ # @param request [Temporalio::Api::WorkflowService::V1::RecordWorkerHeartbeatRequest] API request.
1012
1327
  # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1013
- # @return [Temporalio::Api::WorkflowService::V1::UnpauseActivityByIdResponse] API response.
1014
- def unpause_activity_by_id(request, rpc_options: nil)
1328
+ # @return [Temporalio::Api::WorkflowService::V1::RecordWorkerHeartbeatResponse] API response.
1329
+ def record_worker_heartbeat(request, rpc_options: nil)
1015
1330
  invoke_rpc(
1016
- rpc: 'unpause_activity_by_id',
1017
- request_class: Temporalio::Api::WorkflowService::V1::UnpauseActivityByIdRequest,
1018
- response_class: Temporalio::Api::WorkflowService::V1::UnpauseActivityByIdResponse,
1331
+ rpc: 'record_worker_heartbeat',
1332
+ request_class: Temporalio::Api::WorkflowService::V1::RecordWorkerHeartbeatRequest,
1333
+ response_class: Temporalio::Api::WorkflowService::V1::RecordWorkerHeartbeatResponse,
1019
1334
  request:,
1020
1335
  rpc_options:
1021
1336
  )
1022
1337
  end
1023
1338
 
1024
- # Calls WorkflowService.ResetActivityById API call.
1339
+ # Calls WorkflowService.ListWorkers API call.
1025
1340
  #
1026
- # @param request [Temporalio::Api::WorkflowService::V1::ResetActivityByIdRequest] API request.
1341
+ # @param request [Temporalio::Api::WorkflowService::V1::ListWorkersRequest] API request.
1027
1342
  # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1028
- # @return [Temporalio::Api::WorkflowService::V1::ResetActivityByIdResponse] API response.
1029
- def reset_activity_by_id(request, rpc_options: nil)
1343
+ # @return [Temporalio::Api::WorkflowService::V1::ListWorkersResponse] API response.
1344
+ def list_workers(request, rpc_options: nil)
1030
1345
  invoke_rpc(
1031
- rpc: 'reset_activity_by_id',
1032
- request_class: Temporalio::Api::WorkflowService::V1::ResetActivityByIdRequest,
1033
- response_class: Temporalio::Api::WorkflowService::V1::ResetActivityByIdResponse,
1346
+ rpc: 'list_workers',
1347
+ request_class: Temporalio::Api::WorkflowService::V1::ListWorkersRequest,
1348
+ response_class: Temporalio::Api::WorkflowService::V1::ListWorkersResponse,
1034
1349
  request:,
1035
1350
  rpc_options:
1036
1351
  )
@@ -23,6 +23,8 @@ module Temporalio
23
23
  :args,
24
24
  :workflow_id,
25
25
  :task_queue,
26
+ :static_summary,
27
+ :static_details,
26
28
  :execution_timeout,
27
29
  :run_timeout,
28
30
  :task_timeout,
@@ -34,13 +36,42 @@ module Temporalio
34
36
  :search_attributes,
35
37
  :start_delay,
36
38
  :request_eager_start,
39
+ :versioning_override,
40
+ :priority,
41
+ :arg_hints,
42
+ :result_hint,
37
43
  :headers,
38
44
  :rpc_options
39
45
  )
40
46
 
41
- # Input for {Outbound.list_workflows}.
42
- ListWorkflowsInput = Data.define(
47
+ # Input for {Outbound.start_update_with_start_workflow}.
48
+ StartUpdateWithStartWorkflowInput = Data.define(
49
+ :update_id,
50
+ :update,
51
+ :args,
52
+ :wait_for_stage,
53
+ :start_workflow_operation,
54
+ :arg_hints,
55
+ :result_hint,
56
+ :headers,
57
+ :rpc_options
58
+ )
59
+
60
+ # Input for {Outbound.signal_with_start_workflow}.
61
+ SignalWithStartWorkflowInput = Data.define(
62
+ :signal,
63
+ :args,
64
+ :start_workflow_operation,
65
+ :arg_hints,
66
+ # Headers intentionally not defined here, because they are not separate from start_workflow_operation
67
+ :rpc_options
68
+ )
69
+
70
+ # Input for {Outbound.list_workflow_page}.
71
+ ListWorkflowPageInput = Data.define(
43
72
  :query,
73
+ :next_page_token,
74
+ :page_size,
44
75
  :rpc_options
45
76
  )
46
77
 
@@ -73,6 +104,7 @@ module Temporalio
73
104
  :run_id,
74
105
  :signal,
75
106
  :args,
107
+ :arg_hints,
76
108
  :headers,
77
109
  :rpc_options
78
110
  )
@@ -84,6 +116,8 @@ module Temporalio
84
116
  :query,
85
117
  :args,
86
118
  :reject_condition,
119
+ :arg_hints,
120
+ :result_hint,
87
121
  :headers,
88
122
  :rpc_options
89
123
  )
@@ -96,6 +130,8 @@ module Temporalio
96
130
  :update,
97
131
  :args,
98
132
  :wait_for_stage,
133
+ :arg_hints,
134
+ :result_hint,
99
135
  :headers,
100
136
  :rpc_options
101
137
  )
@@ -194,6 +230,7 @@ module Temporalio
194
230
  HeartbeatAsyncActivityInput = Data.define(
195
231
  :task_token_or_id_reference,
196
232
  :details,
233
+ :detail_hints,
197
234
  :rpc_options
198
235
  )
199
236
 
@@ -201,6 +238,7 @@ module Temporalio
201
238
  CompleteAsyncActivityInput = Data.define(
202
239
  :task_token_or_id_reference,
203
240
  :result,
241
+ :result_hint,
204
242
  :rpc_options
205
243
  )
206
244
 
@@ -209,6 +247,7 @@ module Temporalio
209
247
  :task_token_or_id_reference,
210
248
  :error,
211
249
  :last_heartbeat_details,
250
+ :last_heartbeat_detail_hints,
212
251
  :rpc_options
213
252
  )
214
253
 
@@ -216,6 +255,7 @@ module Temporalio
216
255
  ReportCancellationAsyncActivityInput = Data.define(
217
256
  :task_token_or_id_reference,
218
257
  :details,
258
+ :detail_hints,
219
259
  :rpc_options
220
260
  )
221
261
 
@@ -240,12 +280,29 @@ module Temporalio
240
280
  next_interceptor.start_workflow(input)
241
281
  end
242
282
 
243
- # Called for every {Client.list_workflows} call.
283
+ # Called for every {Client.start_update_with_start_workflow} and {Client.execute_update_with_start_workflow}
284
+ # call.
285
+ #
286
+ # @param input [StartUpdateWithStartWorkflowInput] Input.
287
+ # @return [WorkflowUpdateHandle] Workflow update handle.
288
+ def start_update_with_start_workflow(input)
289
+ next_interceptor.start_update_with_start_workflow(input)
290
+ end
291
+
292
+ # Called for every {Client.signal_with_start_workflow}.
293
+ #
294
+ # @param input [SignalWithStartWorkflowInput] Input.
295
+ # @return [WorkflowHandle] Workflow handle.
296
+ def signal_with_start_workflow(input)
297
+ next_interceptor.signal_with_start_workflow(input)
298
+ end
299
+
300
+ # Called for every {Client.list_workflow_page} call.
244
301
  #
245
- # @param input [ListWorkflowsInput] Input.
246
- # @return [Enumerator<WorkflowExecution>] Enumerable workflow executions.
247
- def list_workflows(input)
248
- next_interceptor.list_workflows(input)
302
+ # @param input [ListWorkflowPageInput] Input.
303
+ # @return [Client::ListWorkflowPage] Enumerable workflow executions, with a #next_page_token method.
304
+ def list_workflow_page(input)
305
+ next_interceptor.list_workflow_page(input)
249
306
  end
250
307
 
251
308
  # Called for every {Client.count_workflows} call.
@@ -167,12 +167,15 @@ module Temporalio
167
167
  :args,
168
168
  :id,
169
169
  :task_queue,
170
+ :static_summary,
171
+ :static_details,
170
172
  :execution_timeout,
171
173
  :run_timeout,
172
174
  :task_timeout,
173
175
  :retry_policy,
174
176
  :memo,
175
177
  :search_attributes,
178
+ :arg_hints,
176
179
  :headers
177
180
  )
178
181
 
@@ -186,6 +189,14 @@ module Temporalio
186
189
  # @return [String] Unique identifier for the workflow execution.
187
190
  # @!attribute task_queue
188
191
  # @return [String] Task queue to run the workflow on.
192
+ # @!attribute static_summary
193
+ # @return [String, nil] Fixed single-line summary for this workflow execution that may appear in CLI/UI.
194
+ # This can be in single-line Temporal markdown format. This is currently experimental.
195
+ # @!attribute static_details
196
+ # @return [String, nil] Fixed details for this workflow execution that may appear in CLI/UI. This can be in
197
+ # Temporal markdown format and can be multiple lines. This is a fixed value on the workflow that cannot be
198
+ # updated. For details that can be updated, use {Workflow.current_details=} within the workflow. This is
199
+ # currently experimental.
189
200
  # @!attribute execution_timeout
190
201
  # @return [Float, nil] Total workflow execution timeout in seconds including retries and continue as new.
191
202
  # @!attribute run_timeout
@@ -198,6 +209,9 @@ module Temporalio
198
209
  # @return [Hash<String, Object>, nil] Memo for the workflow.
199
210
  # @!attribute search_attributes
200
211
  # @return [SearchAttributes, nil] Search attributes for the workflow.
212
+ # @!attribute arg_hints
213
+ # @return [Array<Object>, nil] Converter hints for workflow arguments. This is only user-set (e.g. on create)
214
+ # and is not persisted and therefore will not be set when describing a workflow.
201
215
  # @!attribute headers
202
216
  # @return [Hash<String, Object>, nil] Headers for the workflow.
203
217
  class StartWorkflow
@@ -212,6 +226,12 @@ module Temporalio
212
226
  # @param args [Array<Object>] Arguments to the workflow.
213
227
  # @param id [String] Unique identifier for the workflow execution.
214
228
  # @param task_queue [String] Task queue to run the workflow on.
229
+ # @param static_summary [String, nil] Fixed single-line summary for this workflow execution that may appear
230
+ # in CLI/UI. This can be in single-line Temporal markdown format. This is currently experimental.
231
+ # @param static_details [String, nil] Fixed details for this workflow execution that may appear in CLI/UI.
232
+ # This can be in Temporal markdown format and can be multiple lines. This is a fixed value on the workflow
233
+ # that cannot be updated. For details that can be updated, use {Workflow.current_details=} within the
234
+ # workflow. This is currently experimental.
215
235
  # @param execution_timeout [Float, nil] Total workflow execution timeout in seconds including retries and
216
236
  # continue as new.
217
237
  # @param run_timeout [Float, nil] Timeout of a single workflow run in seconds.
@@ -225,25 +245,33 @@ module Temporalio
225
245
  *args,
226
246
  id:,
227
247
  task_queue:,
248
+ static_summary: nil,
249
+ static_details: nil,
228
250
  execution_timeout: nil,
229
251
  run_timeout: nil,
230
252
  task_timeout: nil,
231
253
  retry_policy: nil,
232
254
  memo: nil,
233
255
  search_attributes: nil,
256
+ arg_hints: nil,
234
257
  headers: nil
235
258
  )
259
+ workflow, defn_arg_hints, =
260
+ Workflow::Definition._workflow_type_and_hints_from_workflow_parameter(workflow)
236
261
  _original_new( # steep:ignore
237
- workflow: Workflow::Definition._workflow_type_from_workflow_parameter(workflow),
262
+ workflow:,
238
263
  args:,
239
264
  id:,
240
265
  task_queue:,
266
+ static_summary:,
267
+ static_details:,
241
268
  execution_timeout:,
242
269
  run_timeout:,
243
270
  task_timeout:,
244
271
  retry_policy:,
245
272
  memo:,
246
273
  search_attributes:,
274
+ arg_hints: arg_hints || defn_arg_hints,
247
275
  headers:
248
276
  )
249
277
  end
@@ -251,11 +279,14 @@ module Temporalio
251
279
 
252
280
  # @!visibility private
253
281
  def self._from_proto(raw_info, data_converter)
282
+ (summary, details) = Internal::ProtoUtils.from_user_metadata(raw_info.user_metadata, data_converter)
254
283
  StartWorkflow.new(
255
284
  raw_info.workflow_type.name,
256
285
  *data_converter.from_payloads(raw_info.input),
257
286
  id: raw_info.workflow_id,
258
287
  task_queue: raw_info.task_queue.name,
288
+ static_summary: summary,
289
+ static_details: details,
259
290
  execution_timeout: Internal::ProtoUtils.duration_to_seconds(raw_info.workflow_execution_timeout),
260
291
  run_timeout: Internal::ProtoUtils.duration_to_seconds(raw_info.workflow_run_timeout),
261
292
  task_timeout: Internal::ProtoUtils.duration_to_seconds(raw_info.workflow_task_timeout),
@@ -273,14 +304,15 @@ module Temporalio
273
304
  workflow_id: id,
274
305
  workflow_type: Api::Common::V1::WorkflowType.new(name: workflow),
275
306
  task_queue: Api::TaskQueue::V1::TaskQueue.new(name: task_queue),
276
- input: data_converter.to_payloads(args),
307
+ input: data_converter.to_payloads(args, hints: arg_hints),
277
308
  workflow_execution_timeout: Internal::ProtoUtils.seconds_to_duration(execution_timeout),
278
309
  workflow_run_timeout: Internal::ProtoUtils.seconds_to_duration(run_timeout),
279
310
  workflow_task_timeout: Internal::ProtoUtils.seconds_to_duration(task_timeout),
280
311
  retry_policy: retry_policy&._to_proto,
281
312
  memo: Internal::ProtoUtils.memo_to_proto(memo, data_converter),
282
313
  search_attributes: search_attributes&._to_proto,
283
- header: Internal::ProtoUtils.headers_to_proto(headers, data_converter)
314
+ header: Internal::ProtoUtils.headers_to_proto(headers, data_converter),
315
+ user_metadata: Internal::ProtoUtils.to_user_metadata(static_summary, static_details, data_converter)
284
316
  )
285
317
  )
286
318
  end