temporalio 0.4.0-x86_64-linux-musl → 0.6.0-x86_64-linux-musl

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 (145) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -1
  3. data/lib/temporalio/activity/cancellation_details.rb +58 -0
  4. data/lib/temporalio/activity/context.rb +10 -1
  5. data/lib/temporalio/activity/definition.rb +41 -3
  6. data/lib/temporalio/activity/info.rb +25 -4
  7. data/lib/temporalio/activity.rb +2 -0
  8. data/lib/temporalio/api/activity/v1/message.rb +1 -1
  9. data/lib/temporalio/api/batch/v1/message.rb +7 -2
  10. data/lib/temporalio/api/cloud/account/v1/message.rb +1 -1
  11. data/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb +22 -2
  12. data/lib/temporalio/api/cloud/cloudservice/v1/service.rb +2 -2
  13. data/lib/temporalio/api/cloud/connectivityrule/v1/message.rb +29 -0
  14. data/lib/temporalio/api/cloud/identity/v1/message.rb +7 -2
  15. data/lib/temporalio/api/cloud/namespace/v1/message.rb +7 -2
  16. data/lib/temporalio/api/cloud/nexus/v1/message.rb +3 -2
  17. data/lib/temporalio/api/cloud/operation/v1/message.rb +2 -2
  18. data/lib/temporalio/api/cloud/region/v1/message.rb +1 -1
  19. data/lib/temporalio/api/cloud/resource/v1/message.rb +1 -1
  20. data/lib/temporalio/api/cloud/sink/v1/message.rb +1 -1
  21. data/lib/temporalio/api/cloud/usage/v1/message.rb +1 -1
  22. data/lib/temporalio/api/command/v1/message.rb +2 -2
  23. data/lib/temporalio/api/common/v1/grpc_status.rb +1 -1
  24. data/lib/temporalio/api/common/v1/message.rb +4 -2
  25. data/lib/temporalio/api/deployment/v1/message.rb +3 -2
  26. data/lib/temporalio/api/enums/v1/batch_operation.rb +2 -2
  27. data/lib/temporalio/api/enums/v1/command_type.rb +1 -1
  28. data/lib/temporalio/api/enums/v1/common.rb +5 -2
  29. data/lib/temporalio/api/enums/v1/deployment.rb +3 -2
  30. data/lib/temporalio/api/enums/v1/event_type.rb +2 -2
  31. data/lib/temporalio/api/enums/v1/failed_cause.rb +2 -2
  32. data/lib/temporalio/api/enums/v1/namespace.rb +1 -1
  33. data/lib/temporalio/api/enums/v1/nexus.rb +1 -1
  34. data/lib/temporalio/api/enums/v1/query.rb +1 -1
  35. data/lib/temporalio/api/enums/v1/reset.rb +1 -1
  36. data/lib/temporalio/api/enums/v1/schedule.rb +1 -1
  37. data/lib/temporalio/api/enums/v1/task_queue.rb +3 -2
  38. data/lib/temporalio/api/enums/v1/update.rb +1 -1
  39. data/lib/temporalio/api/enums/v1/workflow.rb +2 -2
  40. data/lib/temporalio/api/errordetails/v1/message.rb +1 -1
  41. data/lib/temporalio/api/export/v1/message.rb +1 -1
  42. data/lib/temporalio/api/failure/v1/message.rb +3 -2
  43. data/lib/temporalio/api/filter/v1/message.rb +1 -1
  44. data/lib/temporalio/api/history/v1/message.rb +4 -2
  45. data/lib/temporalio/api/namespace/v1/message.rb +1 -1
  46. data/lib/temporalio/api/nexus/v1/message.rb +2 -2
  47. data/lib/temporalio/api/operatorservice/v1/request_response.rb +1 -1
  48. data/lib/temporalio/api/operatorservice/v1/service.rb +1 -1
  49. data/lib/temporalio/api/payload_visitor.rb +106 -1
  50. data/lib/temporalio/api/protocol/v1/message.rb +1 -1
  51. data/lib/temporalio/api/query/v1/message.rb +1 -1
  52. data/lib/temporalio/api/replication/v1/message.rb +1 -1
  53. data/lib/temporalio/api/rules/v1/message.rb +27 -0
  54. data/lib/temporalio/api/schedule/v1/message.rb +2 -2
  55. data/lib/temporalio/api/sdk/v1/enhanced_stack_trace.rb +1 -1
  56. data/lib/temporalio/api/sdk/v1/task_complete_metadata.rb +1 -1
  57. data/lib/temporalio/api/sdk/v1/user_metadata.rb +1 -1
  58. data/lib/temporalio/api/sdk/v1/worker_config.rb +23 -0
  59. data/lib/temporalio/api/sdk/v1/workflow_metadata.rb +1 -1
  60. data/lib/temporalio/api/taskqueue/v1/message.rb +6 -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 +31 -0
  66. data/lib/temporalio/api/workflow/v1/message.rb +14 -2
  67. data/lib/temporalio/api/workflowservice/v1/request_response.rb +28 -2
  68. data/lib/temporalio/api/workflowservice/v1/service.rb +2 -2
  69. data/lib/temporalio/cancellation.rb +16 -12
  70. data/lib/temporalio/client/async_activity_handle.rb +12 -4
  71. data/lib/temporalio/client/connection/cloud_service.rb +135 -0
  72. data/lib/temporalio/client/connection/workflow_service.rb +150 -0
  73. data/lib/temporalio/client/connection.rb +2 -1
  74. data/lib/temporalio/client/interceptor.rb +25 -7
  75. data/lib/temporalio/client/schedule.rb +10 -2
  76. data/lib/temporalio/client/with_start_workflow_operation.rb +9 -1
  77. data/lib/temporalio/client/workflow_handle.rb +50 -10
  78. data/lib/temporalio/client/workflow_update_handle.rb +9 -3
  79. data/lib/temporalio/client.rb +110 -6
  80. data/lib/temporalio/common_enums.rb +14 -0
  81. data/lib/temporalio/contrib/open_telemetry.rb +7 -7
  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 +24 -7
  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 +1 -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 +1 -1
  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 +1 -1
  107. data/lib/temporalio/internal/bridge/worker.rb +28 -4
  108. data/lib/temporalio/internal/bridge.rb +1 -1
  109. data/lib/temporalio/internal/client/implementation.rb +60 -52
  110. data/lib/temporalio/internal/proto_utils.rb +4 -4
  111. data/lib/temporalio/internal/worker/activity_worker.rb +93 -20
  112. data/lib/temporalio/internal/worker/workflow_instance/child_workflow_handle.rb +8 -6
  113. data/lib/temporalio/internal/worker/workflow_instance/context.rb +66 -24
  114. data/lib/temporalio/internal/worker/workflow_instance/details.rb +5 -2
  115. data/lib/temporalio/internal/worker/workflow_instance/external_workflow_handle.rb +2 -2
  116. data/lib/temporalio/internal/worker/workflow_instance/externally_immutable_hash.rb +2 -0
  117. data/lib/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rb +64 -18
  118. data/lib/temporalio/internal/worker/workflow_instance/outbound_implementation.rb +28 -14
  119. data/lib/temporalio/internal/worker/workflow_instance/replay_safe_logger.rb +5 -2
  120. data/lib/temporalio/internal/worker/workflow_instance/scheduler.rb +10 -4
  121. data/lib/temporalio/internal/worker/workflow_instance.rb +58 -23
  122. data/lib/temporalio/internal/worker/workflow_worker.rb +16 -6
  123. data/lib/temporalio/priority.rb +100 -0
  124. data/lib/temporalio/scoped_logger.rb +1 -1
  125. data/lib/temporalio/testing/activity_environment.rb +17 -2
  126. data/lib/temporalio/testing/workflow_environment.rb +3 -3
  127. data/lib/temporalio/version.rb +1 -1
  128. data/lib/temporalio/versioning_override.rb +56 -0
  129. data/lib/temporalio/worker/deployment_options.rb +45 -0
  130. data/lib/temporalio/worker/illegal_workflow_call_validator.rb +73 -0
  131. data/lib/temporalio/worker/interceptor.rb +13 -1
  132. data/lib/temporalio/worker/poller_behavior.rb +61 -0
  133. data/lib/temporalio/worker/thread_pool.rb +1 -1
  134. data/lib/temporalio/worker/workflow_executor/thread_pool.rb +2 -1
  135. data/lib/temporalio/worker/workflow_replayer.rb +12 -13
  136. data/lib/temporalio/worker.rb +73 -28
  137. data/lib/temporalio/worker_deployment_version.rb +67 -0
  138. data/lib/temporalio/workflow/child_workflow_handle.rb +10 -2
  139. data/lib/temporalio/workflow/definition.rb +187 -39
  140. data/lib/temporalio/workflow/external_workflow_handle.rb +3 -1
  141. data/lib/temporalio/workflow/info.rb +4 -1
  142. data/lib/temporalio/workflow.rb +134 -11
  143. data/lib/temporalio.rb +1 -0
  144. data/temporalio.gemspec +1 -0
  145. metadata +13 -2
@@ -27,11 +27,13 @@ module Temporalio
27
27
  # Record a heartbeat for the activity.
28
28
  #
29
29
  # @param details [Array<Object>] Details of the heartbeat.
30
+ # @param detail_hints [Array<Object>, nil] Converter hints for the details.
30
31
  # @param rpc_options [RPCOptions, nil] Advanced RPC options.
31
- def heartbeat(*details, rpc_options: nil)
32
+ def heartbeat(*details, detail_hints: nil, rpc_options: nil)
32
33
  @client._impl.heartbeat_async_activity(Interceptor::HeartbeatAsyncActivityInput.new(
33
34
  task_token_or_id_reference:,
34
35
  details:,
36
+ detail_hints:,
35
37
  rpc_options:
36
38
  ))
37
39
  end
@@ -39,11 +41,13 @@ module Temporalio
39
41
  # Complete the activity.
40
42
  #
41
43
  # @param result [Object, nil] Result of the activity.
44
+ # @param result_hint [Object, nil] Converter hint for the result.
42
45
  # @param rpc_options [RPCOptions, nil] Advanced RPC options.
43
- def complete(result = nil, rpc_options: nil)
46
+ def complete(result = nil, result_hint: nil, rpc_options: nil)
44
47
  @client._impl.complete_async_activity(Interceptor::CompleteAsyncActivityInput.new(
45
48
  task_token_or_id_reference:,
46
49
  result:,
50
+ result_hint:,
47
51
  rpc_options:
48
52
  ))
49
53
  end
@@ -52,12 +56,14 @@ module Temporalio
52
56
  #
53
57
  # @param error [Exception] Error for the activity.
54
58
  # @param last_heartbeat_details [Array<Object>] Last heartbeat details for the activity.
59
+ # @param last_heartbeat_detail_hints [Array<Object>, nil] Converter hints for the last heartbeat details.
55
60
  # @param rpc_options [RPCOptions, nil] Advanced RPC options.
56
- def fail(error, last_heartbeat_details: [], rpc_options: nil)
61
+ def fail(error, last_heartbeat_details: [], last_heartbeat_detail_hints: nil, rpc_options: nil)
57
62
  @client._impl.fail_async_activity(Interceptor::FailAsyncActivityInput.new(
58
63
  task_token_or_id_reference:,
59
64
  error:,
60
65
  last_heartbeat_details:,
66
+ last_heartbeat_detail_hints:,
61
67
  rpc_options:
62
68
  ))
63
69
  end
@@ -65,12 +71,14 @@ module Temporalio
65
71
  # Report the activity as canceled.
66
72
  #
67
73
  # @param details [Array<Object>] Cancellation details.
74
+ # @param detail_hints [Array<Object>, nil] Converter hints for the details.
68
75
  # @param rpc_options [RPCOptions, nil] Advanced RPC options.
69
76
  # @raise [AsyncActivityCanceledError] If the activity has been canceled.
70
- def report_cancellation(*details, rpc_options: nil)
77
+ def report_cancellation(*details, detail_hints: nil, rpc_options: nil)
71
78
  @client._impl.report_cancellation_async_activity(Interceptor::ReportCancellationAsyncActivityInput.new(
72
79
  task_token_or_id_reference:,
73
80
  details:,
81
+ detail_hints:,
74
82
  rpc_options:
75
83
  ))
76
84
  end
@@ -241,6 +241,21 @@ module Temporalio
241
241
  )
242
242
  end
243
243
 
244
+ # Calls CloudService.DeleteNamespaceRegion API call.
245
+ #
246
+ # @param request [Temporalio::Api::Cloud::CloudService::V1::DeleteNamespaceRegionRequest] API request.
247
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
248
+ # @return [Temporalio::Api::Cloud::CloudService::V1::DeleteNamespaceRegionResponse] API response.
249
+ def delete_namespace_region(request, rpc_options: nil)
250
+ invoke_rpc(
251
+ rpc: 'delete_namespace_region',
252
+ request_class: Temporalio::Api::Cloud::CloudService::V1::DeleteNamespaceRegionRequest,
253
+ response_class: Temporalio::Api::Cloud::CloudService::V1::DeleteNamespaceRegionResponse,
254
+ request:,
255
+ rpc_options:
256
+ )
257
+ end
258
+
244
259
  # Calls CloudService.GetRegions API call.
245
260
  #
246
261
  # @param request [Temporalio::Api::Cloud::CloudService::V1::GetRegionsRequest] API request.
@@ -511,6 +526,51 @@ module Temporalio
511
526
  )
512
527
  end
513
528
 
529
+ # Calls CloudService.AddUserGroupMember API call.
530
+ #
531
+ # @param request [Temporalio::Api::Cloud::CloudService::V1::AddUserGroupMemberRequest] API request.
532
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
533
+ # @return [Temporalio::Api::Cloud::CloudService::V1::AddUserGroupMemberResponse] API response.
534
+ def add_user_group_member(request, rpc_options: nil)
535
+ invoke_rpc(
536
+ rpc: 'add_user_group_member',
537
+ request_class: Temporalio::Api::Cloud::CloudService::V1::AddUserGroupMemberRequest,
538
+ response_class: Temporalio::Api::Cloud::CloudService::V1::AddUserGroupMemberResponse,
539
+ request:,
540
+ rpc_options:
541
+ )
542
+ end
543
+
544
+ # Calls CloudService.RemoveUserGroupMember API call.
545
+ #
546
+ # @param request [Temporalio::Api::Cloud::CloudService::V1::RemoveUserGroupMemberRequest] API request.
547
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
548
+ # @return [Temporalio::Api::Cloud::CloudService::V1::RemoveUserGroupMemberResponse] API response.
549
+ def remove_user_group_member(request, rpc_options: nil)
550
+ invoke_rpc(
551
+ rpc: 'remove_user_group_member',
552
+ request_class: Temporalio::Api::Cloud::CloudService::V1::RemoveUserGroupMemberRequest,
553
+ response_class: Temporalio::Api::Cloud::CloudService::V1::RemoveUserGroupMemberResponse,
554
+ request:,
555
+ rpc_options:
556
+ )
557
+ end
558
+
559
+ # Calls CloudService.GetUserGroupMembers API call.
560
+ #
561
+ # @param request [Temporalio::Api::Cloud::CloudService::V1::GetUserGroupMembersRequest] API request.
562
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
563
+ # @return [Temporalio::Api::Cloud::CloudService::V1::GetUserGroupMembersResponse] API response.
564
+ def get_user_group_members(request, rpc_options: nil)
565
+ invoke_rpc(
566
+ rpc: 'get_user_group_members',
567
+ request_class: Temporalio::Api::Cloud::CloudService::V1::GetUserGroupMembersRequest,
568
+ response_class: Temporalio::Api::Cloud::CloudService::V1::GetUserGroupMembersResponse,
569
+ request:,
570
+ rpc_options:
571
+ )
572
+ end
573
+
514
574
  # Calls CloudService.CreateServiceAccount API call.
515
575
  #
516
576
  # @param request [Temporalio::Api::Cloud::CloudService::V1::CreateServiceAccountRequest] API request.
@@ -720,6 +780,81 @@ module Temporalio
720
780
  rpc_options:
721
781
  )
722
782
  end
783
+
784
+ # Calls CloudService.UpdateNamespaceTags API call.
785
+ #
786
+ # @param request [Temporalio::Api::Cloud::CloudService::V1::UpdateNamespaceTagsRequest] API request.
787
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
788
+ # @return [Temporalio::Api::Cloud::CloudService::V1::UpdateNamespaceTagsResponse] API response.
789
+ def update_namespace_tags(request, rpc_options: nil)
790
+ invoke_rpc(
791
+ rpc: 'update_namespace_tags',
792
+ request_class: Temporalio::Api::Cloud::CloudService::V1::UpdateNamespaceTagsRequest,
793
+ response_class: Temporalio::Api::Cloud::CloudService::V1::UpdateNamespaceTagsResponse,
794
+ request:,
795
+ rpc_options:
796
+ )
797
+ end
798
+
799
+ # Calls CloudService.CreateConnectivityRule API call.
800
+ #
801
+ # @param request [Temporalio::Api::Cloud::CloudService::V1::CreateConnectivityRuleRequest] API request.
802
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
803
+ # @return [Temporalio::Api::Cloud::CloudService::V1::CreateConnectivityRuleResponse] API response.
804
+ def create_connectivity_rule(request, rpc_options: nil)
805
+ invoke_rpc(
806
+ rpc: 'create_connectivity_rule',
807
+ request_class: Temporalio::Api::Cloud::CloudService::V1::CreateConnectivityRuleRequest,
808
+ response_class: Temporalio::Api::Cloud::CloudService::V1::CreateConnectivityRuleResponse,
809
+ request:,
810
+ rpc_options:
811
+ )
812
+ end
813
+
814
+ # Calls CloudService.GetConnectivityRule API call.
815
+ #
816
+ # @param request [Temporalio::Api::Cloud::CloudService::V1::GetConnectivityRuleRequest] API request.
817
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
818
+ # @return [Temporalio::Api::Cloud::CloudService::V1::GetConnectivityRuleResponse] API response.
819
+ def get_connectivity_rule(request, rpc_options: nil)
820
+ invoke_rpc(
821
+ rpc: 'get_connectivity_rule',
822
+ request_class: Temporalio::Api::Cloud::CloudService::V1::GetConnectivityRuleRequest,
823
+ response_class: Temporalio::Api::Cloud::CloudService::V1::GetConnectivityRuleResponse,
824
+ request:,
825
+ rpc_options:
826
+ )
827
+ end
828
+
829
+ # Calls CloudService.GetConnectivityRules API call.
830
+ #
831
+ # @param request [Temporalio::Api::Cloud::CloudService::V1::GetConnectivityRulesRequest] API request.
832
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
833
+ # @return [Temporalio::Api::Cloud::CloudService::V1::GetConnectivityRulesResponse] API response.
834
+ def get_connectivity_rules(request, rpc_options: nil)
835
+ invoke_rpc(
836
+ rpc: 'get_connectivity_rules',
837
+ request_class: Temporalio::Api::Cloud::CloudService::V1::GetConnectivityRulesRequest,
838
+ response_class: Temporalio::Api::Cloud::CloudService::V1::GetConnectivityRulesResponse,
839
+ request:,
840
+ rpc_options:
841
+ )
842
+ end
843
+
844
+ # Calls CloudService.DeleteConnectivityRule API call.
845
+ #
846
+ # @param request [Temporalio::Api::Cloud::CloudService::V1::DeleteConnectivityRuleRequest] API request.
847
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
848
+ # @return [Temporalio::Api::Cloud::CloudService::V1::DeleteConnectivityRuleResponse] API response.
849
+ def delete_connectivity_rule(request, rpc_options: nil)
850
+ invoke_rpc(
851
+ rpc: 'delete_connectivity_rule',
852
+ request_class: Temporalio::Api::Cloud::CloudService::V1::DeleteConnectivityRuleRequest,
853
+ response_class: Temporalio::Api::Cloud::CloudService::V1::DeleteConnectivityRuleResponse,
854
+ request:,
855
+ rpc_options:
856
+ )
857
+ end
723
858
  end
724
859
  end
725
860
  end
@@ -1245,6 +1245,156 @@ module Temporalio
1245
1245
  rpc_options:
1246
1246
  )
1247
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.
1295
+ #
1296
+ # @param request [Temporalio::Api::WorkflowService::V1::ListWorkflowRulesRequest] API request.
1297
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1298
+ # @return [Temporalio::Api::WorkflowService::V1::ListWorkflowRulesResponse] API response.
1299
+ def list_workflow_rules(request, rpc_options: nil)
1300
+ invoke_rpc(
1301
+ rpc: 'list_workflow_rules',
1302
+ request_class: Temporalio::Api::WorkflowService::V1::ListWorkflowRulesRequest,
1303
+ response_class: Temporalio::Api::WorkflowService::V1::ListWorkflowRulesResponse,
1304
+ request:,
1305
+ rpc_options:
1306
+ )
1307
+ end
1308
+
1309
+ # Calls WorkflowService.TriggerWorkflowRule API call.
1310
+ #
1311
+ # @param request [Temporalio::Api::WorkflowService::V1::TriggerWorkflowRuleRequest] API request.
1312
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1313
+ # @return [Temporalio::Api::WorkflowService::V1::TriggerWorkflowRuleResponse] API response.
1314
+ def trigger_workflow_rule(request, rpc_options: nil)
1315
+ invoke_rpc(
1316
+ rpc: 'trigger_workflow_rule',
1317
+ request_class: Temporalio::Api::WorkflowService::V1::TriggerWorkflowRuleRequest,
1318
+ response_class: Temporalio::Api::WorkflowService::V1::TriggerWorkflowRuleResponse,
1319
+ request:,
1320
+ rpc_options:
1321
+ )
1322
+ end
1323
+
1324
+ # Calls WorkflowService.RecordWorkerHeartbeat API call.
1325
+ #
1326
+ # @param request [Temporalio::Api::WorkflowService::V1::RecordWorkerHeartbeatRequest] API request.
1327
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1328
+ # @return [Temporalio::Api::WorkflowService::V1::RecordWorkerHeartbeatResponse] API response.
1329
+ def record_worker_heartbeat(request, rpc_options: nil)
1330
+ invoke_rpc(
1331
+ rpc: 'record_worker_heartbeat',
1332
+ request_class: Temporalio::Api::WorkflowService::V1::RecordWorkerHeartbeatRequest,
1333
+ response_class: Temporalio::Api::WorkflowService::V1::RecordWorkerHeartbeatResponse,
1334
+ request:,
1335
+ rpc_options:
1336
+ )
1337
+ end
1338
+
1339
+ # Calls WorkflowService.ListWorkers API call.
1340
+ #
1341
+ # @param request [Temporalio::Api::WorkflowService::V1::ListWorkersRequest] API request.
1342
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1343
+ # @return [Temporalio::Api::WorkflowService::V1::ListWorkersResponse] API response.
1344
+ def list_workers(request, rpc_options: nil)
1345
+ invoke_rpc(
1346
+ rpc: 'list_workers',
1347
+ request_class: Temporalio::Api::WorkflowService::V1::ListWorkersRequest,
1348
+ response_class: Temporalio::Api::WorkflowService::V1::ListWorkersResponse,
1349
+ request:,
1350
+ rpc_options:
1351
+ )
1352
+ end
1353
+
1354
+ # Calls WorkflowService.UpdateTaskQueueConfig API call.
1355
+ #
1356
+ # @param request [Temporalio::Api::WorkflowService::V1::UpdateTaskQueueConfigRequest] API request.
1357
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1358
+ # @return [Temporalio::Api::WorkflowService::V1::UpdateTaskQueueConfigResponse] API response.
1359
+ def update_task_queue_config(request, rpc_options: nil)
1360
+ invoke_rpc(
1361
+ rpc: 'update_task_queue_config',
1362
+ request_class: Temporalio::Api::WorkflowService::V1::UpdateTaskQueueConfigRequest,
1363
+ response_class: Temporalio::Api::WorkflowService::V1::UpdateTaskQueueConfigResponse,
1364
+ request:,
1365
+ rpc_options:
1366
+ )
1367
+ end
1368
+
1369
+ # Calls WorkflowService.FetchWorkerConfig API call.
1370
+ #
1371
+ # @param request [Temporalio::Api::WorkflowService::V1::FetchWorkerConfigRequest] API request.
1372
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1373
+ # @return [Temporalio::Api::WorkflowService::V1::FetchWorkerConfigResponse] API response.
1374
+ def fetch_worker_config(request, rpc_options: nil)
1375
+ invoke_rpc(
1376
+ rpc: 'fetch_worker_config',
1377
+ request_class: Temporalio::Api::WorkflowService::V1::FetchWorkerConfigRequest,
1378
+ response_class: Temporalio::Api::WorkflowService::V1::FetchWorkerConfigResponse,
1379
+ request:,
1380
+ rpc_options:
1381
+ )
1382
+ end
1383
+
1384
+ # Calls WorkflowService.UpdateWorkerConfig API call.
1385
+ #
1386
+ # @param request [Temporalio::Api::WorkflowService::V1::UpdateWorkerConfigRequest] API request.
1387
+ # @param rpc_options [RPCOptions, nil] Advanced RPC options.
1388
+ # @return [Temporalio::Api::WorkflowService::V1::UpdateWorkerConfigResponse] API response.
1389
+ def update_worker_config(request, rpc_options: nil)
1390
+ invoke_rpc(
1391
+ rpc: 'update_worker_config',
1392
+ request_class: Temporalio::Api::WorkflowService::V1::UpdateWorkerConfigRequest,
1393
+ response_class: Temporalio::Api::WorkflowService::V1::UpdateWorkerConfigResponse,
1394
+ request:,
1395
+ rpc_options:
1396
+ )
1397
+ end
1248
1398
  end
1249
1399
  end
1250
1400
  end
@@ -124,7 +124,8 @@ module Temporalio
124
124
  # Options for HTTP CONNECT proxy for client connections.
125
125
  #
126
126
  # @!attribute target_host
127
- # @return [String] Target host:port for the HTTP CONNECT proxy.
127
+ # @return [String] Target for the HTTP CONNECT proxy. Use host:port for TCP, or unix:/path/to/unix.sock for Unix
128
+ # socket (meaning it'll start with "unix:/").
128
129
  # @!attribute basic_auth_user
129
130
  # @return [String, nil] User for HTTP basic auth for the proxy, must be combined with {basic_auth_pass}.
130
131
  # @!attribute basic_auth_pass
@@ -36,6 +36,10 @@ module Temporalio
36
36
  :search_attributes,
37
37
  :start_delay,
38
38
  :request_eager_start,
39
+ :versioning_override,
40
+ :priority,
41
+ :arg_hints,
42
+ :result_hint,
39
43
  :headers,
40
44
  :rpc_options
41
45
  )
@@ -47,6 +51,8 @@ module Temporalio
47
51
  :args,
48
52
  :wait_for_stage,
49
53
  :start_workflow_operation,
54
+ :arg_hints,
55
+ :result_hint,
50
56
  :headers,
51
57
  :rpc_options
52
58
  )
@@ -56,13 +62,16 @@ module Temporalio
56
62
  :signal,
57
63
  :args,
58
64
  :start_workflow_operation,
65
+ :arg_hints,
59
66
  # Headers intentionally not defined here, because they are not separate from start_workflow_operation
60
67
  :rpc_options
61
68
  )
62
69
 
63
- # Input for {Outbound.list_workflows}.
64
- ListWorkflowsInput = Data.define(
70
+ # Input for {Outbound.list_workflow_page}.
71
+ ListWorkflowPageInput = Data.define(
65
72
  :query,
73
+ :next_page_token,
74
+ :page_size,
66
75
  :rpc_options
67
76
  )
68
77
 
@@ -95,6 +104,7 @@ module Temporalio
95
104
  :run_id,
96
105
  :signal,
97
106
  :args,
107
+ :arg_hints,
98
108
  :headers,
99
109
  :rpc_options
100
110
  )
@@ -106,6 +116,8 @@ module Temporalio
106
116
  :query,
107
117
  :args,
108
118
  :reject_condition,
119
+ :arg_hints,
120
+ :result_hint,
109
121
  :headers,
110
122
  :rpc_options
111
123
  )
@@ -118,6 +130,8 @@ module Temporalio
118
130
  :update,
119
131
  :args,
120
132
  :wait_for_stage,
133
+ :arg_hints,
134
+ :result_hint,
121
135
  :headers,
122
136
  :rpc_options
123
137
  )
@@ -216,6 +230,7 @@ module Temporalio
216
230
  HeartbeatAsyncActivityInput = Data.define(
217
231
  :task_token_or_id_reference,
218
232
  :details,
233
+ :detail_hints,
219
234
  :rpc_options
220
235
  )
221
236
 
@@ -223,6 +238,7 @@ module Temporalio
223
238
  CompleteAsyncActivityInput = Data.define(
224
239
  :task_token_or_id_reference,
225
240
  :result,
241
+ :result_hint,
226
242
  :rpc_options
227
243
  )
228
244
 
@@ -231,6 +247,7 @@ module Temporalio
231
247
  :task_token_or_id_reference,
232
248
  :error,
233
249
  :last_heartbeat_details,
250
+ :last_heartbeat_detail_hints,
234
251
  :rpc_options
235
252
  )
236
253
 
@@ -238,6 +255,7 @@ module Temporalio
238
255
  ReportCancellationAsyncActivityInput = Data.define(
239
256
  :task_token_or_id_reference,
240
257
  :details,
258
+ :detail_hints,
241
259
  :rpc_options
242
260
  )
243
261
 
@@ -279,12 +297,12 @@ module Temporalio
279
297
  next_interceptor.signal_with_start_workflow(input)
280
298
  end
281
299
 
282
- # Called for every {Client.list_workflows} call.
300
+ # Called for every {Client.list_workflow_page} call.
283
301
  #
284
- # @param input [ListWorkflowsInput] Input.
285
- # @return [Enumerator<WorkflowExecution>] Enumerable workflow executions.
286
- def list_workflows(input)
287
- 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)
288
306
  end
289
307
 
290
308
  # Called for every {Client.count_workflows} call.
@@ -175,6 +175,7 @@ module Temporalio
175
175
  :retry_policy,
176
176
  :memo,
177
177
  :search_attributes,
178
+ :arg_hints,
178
179
  :headers
179
180
  )
180
181
 
@@ -208,6 +209,9 @@ module Temporalio
208
209
  # @return [Hash<String, Object>, nil] Memo for the workflow.
209
210
  # @!attribute search_attributes
210
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.
211
215
  # @!attribute headers
212
216
  # @return [Hash<String, Object>, nil] Headers for the workflow.
213
217
  class StartWorkflow
@@ -249,10 +253,13 @@ module Temporalio
249
253
  retry_policy: nil,
250
254
  memo: nil,
251
255
  search_attributes: nil,
256
+ arg_hints: nil,
252
257
  headers: nil
253
258
  )
259
+ workflow, defn_arg_hints, =
260
+ Workflow::Definition._workflow_type_and_hints_from_workflow_parameter(workflow)
254
261
  _original_new( # steep:ignore
255
- workflow: Workflow::Definition._workflow_type_from_workflow_parameter(workflow),
262
+ workflow:,
256
263
  args:,
257
264
  id:,
258
265
  task_queue:,
@@ -264,6 +271,7 @@ module Temporalio
264
271
  retry_policy:,
265
272
  memo:,
266
273
  search_attributes:,
274
+ arg_hints: arg_hints || defn_arg_hints,
267
275
  headers:
268
276
  )
269
277
  end
@@ -296,7 +304,7 @@ module Temporalio
296
304
  workflow_id: id,
297
305
  workflow_type: Api::Common::V1::WorkflowType.new(name: workflow),
298
306
  task_queue: Api::TaskQueue::V1::TaskQueue.new(name: task_queue),
299
- input: data_converter.to_payloads(args),
307
+ input: data_converter.to_payloads(args, hints: arg_hints),
300
308
  workflow_execution_timeout: Internal::ProtoUtils.seconds_to_duration(execution_timeout),
301
309
  workflow_run_timeout: Internal::ProtoUtils.seconds_to_duration(run_timeout),
302
310
  workflow_task_timeout: Internal::ProtoUtils.seconds_to_duration(task_timeout),
@@ -24,6 +24,8 @@ module Temporalio
24
24
  :memo,
25
25
  :search_attributes,
26
26
  :start_delay,
27
+ :arg_hints,
28
+ :result_hint,
27
29
  :headers
28
30
  )
29
31
 
@@ -55,10 +57,14 @@ module Temporalio
55
57
  memo: nil,
56
58
  search_attributes: nil,
57
59
  start_delay: nil,
60
+ arg_hints: nil,
61
+ result_hint: nil,
58
62
  headers: {}
59
63
  )
64
+ workflow, defn_arg_hints, defn_result_hint =
65
+ Workflow::Definition._workflow_type_and_hints_from_workflow_parameter(workflow)
60
66
  @options = Options.new(
61
- workflow: Workflow::Definition._workflow_type_from_workflow_parameter(workflow),
67
+ workflow:,
62
68
  args:,
63
69
  id:,
64
70
  task_queue:,
@@ -74,6 +80,8 @@ module Temporalio
74
80
  memo:,
75
81
  search_attributes:,
76
82
  start_delay:,
83
+ arg_hints: arg_hints || defn_arg_hints,
84
+ result_hint: result_hint || defn_result_hint,
77
85
  headers:
78
86
  )
79
87
  @workflow_handle_mutex = Mutex.new