temporalio 0.0.1

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 (317) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -0
  3. data/LICENSE +20 -0
  4. data/README.md +130 -0
  5. data/bridge/Cargo.lock +2865 -0
  6. data/bridge/Cargo.toml +26 -0
  7. data/bridge/sdk-core/ARCHITECTURE.md +76 -0
  8. data/bridge/sdk-core/Cargo.lock +2606 -0
  9. data/bridge/sdk-core/Cargo.toml +2 -0
  10. data/bridge/sdk-core/LICENSE.txt +23 -0
  11. data/bridge/sdk-core/README.md +107 -0
  12. data/bridge/sdk-core/arch_docs/diagrams/README.md +10 -0
  13. data/bridge/sdk-core/arch_docs/diagrams/sticky_queues.puml +40 -0
  14. data/bridge/sdk-core/arch_docs/diagrams/workflow_internals.svg +1 -0
  15. data/bridge/sdk-core/arch_docs/sticky_queues.md +51 -0
  16. data/bridge/sdk-core/bridge-ffi/Cargo.toml +24 -0
  17. data/bridge/sdk-core/bridge-ffi/LICENSE.txt +23 -0
  18. data/bridge/sdk-core/bridge-ffi/build.rs +25 -0
  19. data/bridge/sdk-core/bridge-ffi/include/sdk-core-bridge.h +249 -0
  20. data/bridge/sdk-core/bridge-ffi/src/lib.rs +825 -0
  21. data/bridge/sdk-core/bridge-ffi/src/wrappers.rs +211 -0
  22. data/bridge/sdk-core/client/Cargo.toml +40 -0
  23. data/bridge/sdk-core/client/LICENSE.txt +23 -0
  24. data/bridge/sdk-core/client/src/lib.rs +1294 -0
  25. data/bridge/sdk-core/client/src/metrics.rs +165 -0
  26. data/bridge/sdk-core/client/src/raw.rs +931 -0
  27. data/bridge/sdk-core/client/src/retry.rs +674 -0
  28. data/bridge/sdk-core/client/src/workflow_handle/mod.rs +185 -0
  29. data/bridge/sdk-core/core/Cargo.toml +116 -0
  30. data/bridge/sdk-core/core/LICENSE.txt +23 -0
  31. data/bridge/sdk-core/core/benches/workflow_replay.rs +73 -0
  32. data/bridge/sdk-core/core/src/abstractions.rs +166 -0
  33. data/bridge/sdk-core/core/src/core_tests/activity_tasks.rs +911 -0
  34. data/bridge/sdk-core/core/src/core_tests/child_workflows.rs +221 -0
  35. data/bridge/sdk-core/core/src/core_tests/determinism.rs +107 -0
  36. data/bridge/sdk-core/core/src/core_tests/local_activities.rs +515 -0
  37. data/bridge/sdk-core/core/src/core_tests/mod.rs +100 -0
  38. data/bridge/sdk-core/core/src/core_tests/queries.rs +736 -0
  39. data/bridge/sdk-core/core/src/core_tests/replay_flag.rs +65 -0
  40. data/bridge/sdk-core/core/src/core_tests/workers.rs +259 -0
  41. data/bridge/sdk-core/core/src/core_tests/workflow_cancels.rs +124 -0
  42. data/bridge/sdk-core/core/src/core_tests/workflow_tasks.rs +2070 -0
  43. data/bridge/sdk-core/core/src/ephemeral_server/mod.rs +515 -0
  44. data/bridge/sdk-core/core/src/lib.rs +175 -0
  45. data/bridge/sdk-core/core/src/log_export.rs +62 -0
  46. data/bridge/sdk-core/core/src/pollers/mod.rs +54 -0
  47. data/bridge/sdk-core/core/src/pollers/poll_buffer.rs +297 -0
  48. data/bridge/sdk-core/core/src/protosext/mod.rs +428 -0
  49. data/bridge/sdk-core/core/src/replay/mod.rs +71 -0
  50. data/bridge/sdk-core/core/src/retry_logic.rs +202 -0
  51. data/bridge/sdk-core/core/src/telemetry/metrics.rs +383 -0
  52. data/bridge/sdk-core/core/src/telemetry/mod.rs +412 -0
  53. data/bridge/sdk-core/core/src/telemetry/prometheus_server.rs +77 -0
  54. data/bridge/sdk-core/core/src/test_help/mod.rs +875 -0
  55. data/bridge/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +580 -0
  56. data/bridge/sdk-core/core/src/worker/activities/local_activities.rs +1042 -0
  57. data/bridge/sdk-core/core/src/worker/activities.rs +464 -0
  58. data/bridge/sdk-core/core/src/worker/client/mocks.rs +87 -0
  59. data/bridge/sdk-core/core/src/worker/client.rs +347 -0
  60. data/bridge/sdk-core/core/src/worker/mod.rs +566 -0
  61. data/bridge/sdk-core/core/src/worker/workflow/bridge.rs +37 -0
  62. data/bridge/sdk-core/core/src/worker/workflow/driven_workflow.rs +110 -0
  63. data/bridge/sdk-core/core/src/worker/workflow/history_update.rs +458 -0
  64. data/bridge/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +911 -0
  65. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +298 -0
  66. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +171 -0
  67. data/bridge/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +860 -0
  68. data/bridge/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +140 -0
  69. data/bridge/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +161 -0
  70. data/bridge/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +133 -0
  71. data/bridge/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +1448 -0
  72. data/bridge/sdk-core/core/src/worker/workflow/machines/mod.rs +342 -0
  73. data/bridge/sdk-core/core/src/worker/workflow/machines/mutable_side_effect_state_machine.rs +127 -0
  74. data/bridge/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +712 -0
  75. data/bridge/sdk-core/core/src/worker/workflow/machines/side_effect_state_machine.rs +71 -0
  76. data/bridge/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +443 -0
  77. data/bridge/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +439 -0
  78. data/bridge/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +169 -0
  79. data/bridge/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +246 -0
  80. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines/local_acts.rs +96 -0
  81. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +1184 -0
  82. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +277 -0
  83. data/bridge/sdk-core/core/src/worker/workflow/managed_run/managed_wf_test.rs +198 -0
  84. data/bridge/sdk-core/core/src/worker/workflow/managed_run.rs +647 -0
  85. data/bridge/sdk-core/core/src/worker/workflow/mod.rs +1143 -0
  86. data/bridge/sdk-core/core/src/worker/workflow/run_cache.rs +145 -0
  87. data/bridge/sdk-core/core/src/worker/workflow/wft_poller.rs +88 -0
  88. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream.rs +940 -0
  89. data/bridge/sdk-core/core-api/Cargo.toml +31 -0
  90. data/bridge/sdk-core/core-api/LICENSE.txt +23 -0
  91. data/bridge/sdk-core/core-api/src/errors.rs +95 -0
  92. data/bridge/sdk-core/core-api/src/lib.rs +151 -0
  93. data/bridge/sdk-core/core-api/src/worker.rs +135 -0
  94. data/bridge/sdk-core/etc/deps.svg +187 -0
  95. data/bridge/sdk-core/etc/dynamic-config.yaml +2 -0
  96. data/bridge/sdk-core/etc/otel-collector-config.yaml +36 -0
  97. data/bridge/sdk-core/etc/prometheus.yaml +6 -0
  98. data/bridge/sdk-core/fsm/Cargo.toml +18 -0
  99. data/bridge/sdk-core/fsm/LICENSE.txt +23 -0
  100. data/bridge/sdk-core/fsm/README.md +3 -0
  101. data/bridge/sdk-core/fsm/rustfsm_procmacro/Cargo.toml +27 -0
  102. data/bridge/sdk-core/fsm/rustfsm_procmacro/LICENSE.txt +23 -0
  103. data/bridge/sdk-core/fsm/rustfsm_procmacro/src/lib.rs +647 -0
  104. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/progress.rs +8 -0
  105. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.rs +18 -0
  106. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.stderr +12 -0
  107. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dynamic_dest_pass.rs +41 -0
  108. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/forgot_name_fail.rs +14 -0
  109. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/forgot_name_fail.stderr +11 -0
  110. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/handler_arg_pass.rs +32 -0
  111. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/handler_pass.rs +31 -0
  112. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/medium_complex_pass.rs +46 -0
  113. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.rs +29 -0
  114. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.stderr +12 -0
  115. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/simple_pass.rs +32 -0
  116. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.rs +18 -0
  117. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.stderr +5 -0
  118. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.rs +11 -0
  119. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.stderr +5 -0
  120. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.rs +11 -0
  121. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.stderr +5 -0
  122. data/bridge/sdk-core/fsm/rustfsm_trait/Cargo.toml +14 -0
  123. data/bridge/sdk-core/fsm/rustfsm_trait/LICENSE.txt +23 -0
  124. data/bridge/sdk-core/fsm/rustfsm_trait/src/lib.rs +249 -0
  125. data/bridge/sdk-core/fsm/src/lib.rs +2 -0
  126. data/bridge/sdk-core/histories/fail_wf_task.bin +0 -0
  127. data/bridge/sdk-core/histories/timer_workflow_history.bin +0 -0
  128. data/bridge/sdk-core/integ-with-otel.sh +7 -0
  129. data/bridge/sdk-core/protos/api_upstream/README.md +9 -0
  130. data/bridge/sdk-core/protos/api_upstream/api-linter.yaml +40 -0
  131. data/bridge/sdk-core/protos/api_upstream/buf.yaml +12 -0
  132. data/bridge/sdk-core/protos/api_upstream/dependencies/gogoproto/gogo.proto +141 -0
  133. data/bridge/sdk-core/protos/api_upstream/temporal/api/batch/v1/message.proto +86 -0
  134. data/bridge/sdk-core/protos/api_upstream/temporal/api/cluster/v1/message.proto +83 -0
  135. data/bridge/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto +259 -0
  136. data/bridge/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto +112 -0
  137. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto +46 -0
  138. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/cluster.proto +40 -0
  139. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/command_type.proto +57 -0
  140. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/common.proto +55 -0
  141. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/event_type.proto +168 -0
  142. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +97 -0
  143. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/namespace.proto +51 -0
  144. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/query.proto +50 -0
  145. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/reset.proto +41 -0
  146. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/schedule.proto +60 -0
  147. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +59 -0
  148. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/update.proto +51 -0
  149. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/workflow.proto +122 -0
  150. data/bridge/sdk-core/protos/api_upstream/temporal/api/errordetails/v1/message.proto +108 -0
  151. data/bridge/sdk-core/protos/api_upstream/temporal/api/failure/v1/message.proto +114 -0
  152. data/bridge/sdk-core/protos/api_upstream/temporal/api/filter/v1/message.proto +56 -0
  153. data/bridge/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto +751 -0
  154. data/bridge/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto +97 -0
  155. data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +161 -0
  156. data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +99 -0
  157. data/bridge/sdk-core/protos/api_upstream/temporal/api/query/v1/message.proto +61 -0
  158. data/bridge/sdk-core/protos/api_upstream/temporal/api/replication/v1/message.proto +55 -0
  159. data/bridge/sdk-core/protos/api_upstream/temporal/api/schedule/v1/message.proto +300 -0
  160. data/bridge/sdk-core/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +108 -0
  161. data/bridge/sdk-core/protos/api_upstream/temporal/api/update/v1/message.proto +46 -0
  162. data/bridge/sdk-core/protos/api_upstream/temporal/api/version/v1/message.proto +59 -0
  163. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflow/v1/message.proto +145 -0
  164. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +1124 -0
  165. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +401 -0
  166. data/bridge/sdk-core/protos/grpc/health/v1/health.proto +63 -0
  167. data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_result/activity_result.proto +78 -0
  168. data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_task/activity_task.proto +79 -0
  169. data/bridge/sdk-core/protos/local/temporal/sdk/core/bridge/bridge.proto +210 -0
  170. data/bridge/sdk-core/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto +77 -0
  171. data/bridge/sdk-core/protos/local/temporal/sdk/core/common/common.proto +15 -0
  172. data/bridge/sdk-core/protos/local/temporal/sdk/core/core_interface.proto +30 -0
  173. data/bridge/sdk-core/protos/local/temporal/sdk/core/external_data/external_data.proto +30 -0
  174. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +261 -0
  175. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +297 -0
  176. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +29 -0
  177. data/bridge/sdk-core/protos/testsrv_upstream/api-linter.yaml +38 -0
  178. data/bridge/sdk-core/protos/testsrv_upstream/buf.yaml +13 -0
  179. data/bridge/sdk-core/protos/testsrv_upstream/dependencies/gogoproto/gogo.proto +141 -0
  180. data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto +63 -0
  181. data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto +90 -0
  182. data/bridge/sdk-core/rustfmt.toml +1 -0
  183. data/bridge/sdk-core/sdk/Cargo.toml +47 -0
  184. data/bridge/sdk-core/sdk/LICENSE.txt +23 -0
  185. data/bridge/sdk-core/sdk/src/activity_context.rs +230 -0
  186. data/bridge/sdk-core/sdk/src/app_data.rs +37 -0
  187. data/bridge/sdk-core/sdk/src/conversions.rs +8 -0
  188. data/bridge/sdk-core/sdk/src/interceptors.rs +17 -0
  189. data/bridge/sdk-core/sdk/src/lib.rs +792 -0
  190. data/bridge/sdk-core/sdk/src/payload_converter.rs +11 -0
  191. data/bridge/sdk-core/sdk/src/workflow_context/options.rs +295 -0
  192. data/bridge/sdk-core/sdk/src/workflow_context.rs +683 -0
  193. data/bridge/sdk-core/sdk/src/workflow_future.rs +503 -0
  194. data/bridge/sdk-core/sdk-core-protos/Cargo.toml +30 -0
  195. data/bridge/sdk-core/sdk-core-protos/LICENSE.txt +23 -0
  196. data/bridge/sdk-core/sdk-core-protos/build.rs +108 -0
  197. data/bridge/sdk-core/sdk-core-protos/src/constants.rs +7 -0
  198. data/bridge/sdk-core/sdk-core-protos/src/history_builder.rs +497 -0
  199. data/bridge/sdk-core/sdk-core-protos/src/history_info.rs +230 -0
  200. data/bridge/sdk-core/sdk-core-protos/src/lib.rs +1910 -0
  201. data/bridge/sdk-core/sdk-core-protos/src/task_token.rs +38 -0
  202. data/bridge/sdk-core/sdk-core-protos/src/utilities.rs +14 -0
  203. data/bridge/sdk-core/test-utils/Cargo.toml +35 -0
  204. data/bridge/sdk-core/test-utils/src/canned_histories.rs +1579 -0
  205. data/bridge/sdk-core/test-utils/src/histfetch.rs +28 -0
  206. data/bridge/sdk-core/test-utils/src/lib.rs +598 -0
  207. data/bridge/sdk-core/tests/integ_tests/client_tests.rs +36 -0
  208. data/bridge/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +128 -0
  209. data/bridge/sdk-core/tests/integ_tests/heartbeat_tests.rs +218 -0
  210. data/bridge/sdk-core/tests/integ_tests/polling_tests.rs +146 -0
  211. data/bridge/sdk-core/tests/integ_tests/queries_tests.rs +437 -0
  212. data/bridge/sdk-core/tests/integ_tests/visibility_tests.rs +93 -0
  213. data/bridge/sdk-core/tests/integ_tests/workflow_tests/activities.rs +878 -0
  214. data/bridge/sdk-core/tests/integ_tests/workflow_tests/appdata_propagation.rs +61 -0
  215. data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +59 -0
  216. data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +58 -0
  217. data/bridge/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +50 -0
  218. data/bridge/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +60 -0
  219. data/bridge/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +54 -0
  220. data/bridge/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +634 -0
  221. data/bridge/sdk-core/tests/integ_tests/workflow_tests/patches.rs +113 -0
  222. data/bridge/sdk-core/tests/integ_tests/workflow_tests/replay.rs +137 -0
  223. data/bridge/sdk-core/tests/integ_tests/workflow_tests/resets.rs +93 -0
  224. data/bridge/sdk-core/tests/integ_tests/workflow_tests/signals.rs +167 -0
  225. data/bridge/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +99 -0
  226. data/bridge/sdk-core/tests/integ_tests/workflow_tests/timers.rs +131 -0
  227. data/bridge/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +75 -0
  228. data/bridge/sdk-core/tests/integ_tests/workflow_tests.rs +587 -0
  229. data/bridge/sdk-core/tests/load_tests.rs +191 -0
  230. data/bridge/sdk-core/tests/main.rs +111 -0
  231. data/bridge/sdk-core/tests/runner.rs +93 -0
  232. data/bridge/src/connection.rs +167 -0
  233. data/bridge/src/lib.rs +180 -0
  234. data/bridge/src/runtime.rs +47 -0
  235. data/bridge/src/worker.rs +73 -0
  236. data/ext/Rakefile +9 -0
  237. data/lib/bridge.so +0 -0
  238. data/lib/gen/dependencies/gogoproto/gogo_pb.rb +14 -0
  239. data/lib/gen/temporal/api/batch/v1/message_pb.rb +48 -0
  240. data/lib/gen/temporal/api/cluster/v1/message_pb.rb +67 -0
  241. data/lib/gen/temporal/api/command/v1/message_pb.rb +166 -0
  242. data/lib/gen/temporal/api/common/v1/message_pb.rb +69 -0
  243. data/lib/gen/temporal/api/enums/v1/batch_operation_pb.rb +32 -0
  244. data/lib/gen/temporal/api/enums/v1/cluster_pb.rb +26 -0
  245. data/lib/gen/temporal/api/enums/v1/command_type_pb.rb +37 -0
  246. data/lib/gen/temporal/api/enums/v1/common_pb.rb +41 -0
  247. data/lib/gen/temporal/api/enums/v1/event_type_pb.rb +67 -0
  248. data/lib/gen/temporal/api/enums/v1/failed_cause_pb.rb +71 -0
  249. data/lib/gen/temporal/api/enums/v1/namespace_pb.rb +37 -0
  250. data/lib/gen/temporal/api/enums/v1/query_pb.rb +31 -0
  251. data/lib/gen/temporal/api/enums/v1/reset_pb.rb +24 -0
  252. data/lib/gen/temporal/api/enums/v1/schedule_pb.rb +28 -0
  253. data/lib/gen/temporal/api/enums/v1/task_queue_pb.rb +30 -0
  254. data/lib/gen/temporal/api/enums/v1/update_pb.rb +28 -0
  255. data/lib/gen/temporal/api/enums/v1/workflow_pb.rb +89 -0
  256. data/lib/gen/temporal/api/errordetails/v1/message_pb.rb +84 -0
  257. data/lib/gen/temporal/api/failure/v1/message_pb.rb +83 -0
  258. data/lib/gen/temporal/api/filter/v1/message_pb.rb +40 -0
  259. data/lib/gen/temporal/api/history/v1/message_pb.rb +489 -0
  260. data/lib/gen/temporal/api/namespace/v1/message_pb.rb +63 -0
  261. data/lib/gen/temporal/api/operatorservice/v1/request_response_pb.rb +125 -0
  262. data/lib/gen/temporal/api/operatorservice/v1/service_pb.rb +20 -0
  263. data/lib/gen/temporal/api/query/v1/message_pb.rb +38 -0
  264. data/lib/gen/temporal/api/replication/v1/message_pb.rb +37 -0
  265. data/lib/gen/temporal/api/schedule/v1/message_pb.rb +128 -0
  266. data/lib/gen/temporal/api/taskqueue/v1/message_pb.rb +73 -0
  267. data/lib/gen/temporal/api/update/v1/message_pb.rb +26 -0
  268. data/lib/gen/temporal/api/version/v1/message_pb.rb +41 -0
  269. data/lib/gen/temporal/api/workflow/v1/message_pb.rb +110 -0
  270. data/lib/gen/temporal/api/workflowservice/v1/request_response_pb.rb +771 -0
  271. data/lib/gen/temporal/api/workflowservice/v1/service_pb.rb +20 -0
  272. data/lib/gen/temporal/sdk/core/activity_result/activity_result_pb.rb +58 -0
  273. data/lib/gen/temporal/sdk/core/activity_task/activity_task_pb.rb +57 -0
  274. data/lib/gen/temporal/sdk/core/bridge/bridge_pb.rb +222 -0
  275. data/lib/gen/temporal/sdk/core/child_workflow/child_workflow_pb.rb +57 -0
  276. data/lib/gen/temporal/sdk/core/common/common_pb.rb +22 -0
  277. data/lib/gen/temporal/sdk/core/core_interface_pb.rb +34 -0
  278. data/lib/gen/temporal/sdk/core/external_data/external_data_pb.rb +27 -0
  279. data/lib/gen/temporal/sdk/core/workflow_activation/workflow_activation_pb.rb +164 -0
  280. data/lib/gen/temporal/sdk/core/workflow_commands/workflow_commands_pb.rb +192 -0
  281. data/lib/gen/temporal/sdk/core/workflow_completion/workflow_completion_pb.rb +34 -0
  282. data/lib/temporal/bridge.rb +14 -0
  283. data/lib/temporal/client/implementation.rb +339 -0
  284. data/lib/temporal/client/workflow_handle.rb +243 -0
  285. data/lib/temporal/client.rb +144 -0
  286. data/lib/temporal/connection.rb +736 -0
  287. data/lib/temporal/data_converter.rb +150 -0
  288. data/lib/temporal/error/failure.rb +194 -0
  289. data/lib/temporal/error/workflow_failure.rb +17 -0
  290. data/lib/temporal/errors.rb +22 -0
  291. data/lib/temporal/failure_converter/base.rb +26 -0
  292. data/lib/temporal/failure_converter/basic.rb +313 -0
  293. data/lib/temporal/failure_converter.rb +8 -0
  294. data/lib/temporal/interceptor/chain.rb +27 -0
  295. data/lib/temporal/interceptor/client.rb +102 -0
  296. data/lib/temporal/payload_codec/base.rb +32 -0
  297. data/lib/temporal/payload_converter/base.rb +24 -0
  298. data/lib/temporal/payload_converter/bytes.rb +26 -0
  299. data/lib/temporal/payload_converter/composite.rb +47 -0
  300. data/lib/temporal/payload_converter/encoding_base.rb +35 -0
  301. data/lib/temporal/payload_converter/json.rb +25 -0
  302. data/lib/temporal/payload_converter/nil.rb +25 -0
  303. data/lib/temporal/payload_converter.rb +14 -0
  304. data/lib/temporal/retry_policy.rb +82 -0
  305. data/lib/temporal/retry_state.rb +35 -0
  306. data/lib/temporal/runtime.rb +22 -0
  307. data/lib/temporal/timeout_type.rb +29 -0
  308. data/lib/temporal/version.rb +3 -0
  309. data/lib/temporal/workflow/execution_info.rb +54 -0
  310. data/lib/temporal/workflow/execution_status.rb +36 -0
  311. data/lib/temporal/workflow/id_reuse_policy.rb +36 -0
  312. data/lib/temporal/workflow/query_reject_condition.rb +33 -0
  313. data/lib/temporal.rb +8 -0
  314. data/lib/temporalio.rb +3 -0
  315. data/lib/thermite_patch.rb +23 -0
  316. data/temporalio.gemspec +41 -0
  317. metadata +583 -0
@@ -0,0 +1,736 @@
1
+ require 'temporal/api/workflowservice/v1/request_response_pb'
2
+ require 'temporal/bridge'
3
+ require 'temporal/runtime'
4
+ require 'uri'
5
+
6
+ module Temporal
7
+ # A connection to the Temporal server.
8
+ #
9
+ # This is used to instantiate a {Temporal::Client}. But it also can be used for a direct
10
+ # interaction with the API.
11
+ class Connection
12
+ attr_reader :core_connection
13
+
14
+ # @param host [String] `host:port` for the Temporal server. For local development, this is
15
+ # often `"localhost:7233"`.
16
+ def initialize(host)
17
+ url = parse_url(host)
18
+ runtime = Temporal::Runtime.instance
19
+ @core_connection = Temporal::Bridge::Connection.connect(runtime.core_runtime, url)
20
+ end
21
+
22
+ # @param request [Temporal::Api::WorkflowService::V1::RegisterNamespaceRequest]
23
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
24
+ # Keys here override client-level RPC metadata keys.
25
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
26
+ #
27
+ # @return [Temporal::Api::WorkflowService::V1::RegisterNamespaceResponse]
28
+ def register_namespace(request, metadata: {}, timeout: nil)
29
+ encoded = Temporal::Api::WorkflowService::V1::RegisterNamespaceRequest.encode(request)
30
+ response = core_connection.call(:register_namespace, encoded, metadata, timeout)
31
+
32
+ Temporal::Api::WorkflowService::V1::RegisterNamespaceResponse.decode(response)
33
+ end
34
+
35
+ # @param request [Temporal::Api::WorkflowService::V1::DescribeNamespaceRequest]
36
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
37
+ # Keys here override client-level RPC metadata keys.
38
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
39
+ #
40
+ # @return [Temporal::Api::WorkflowService::V1::DescribeNamespaceResponse]
41
+ def describe_namespace(request, metadata: {}, timeout: nil)
42
+ encoded = Temporal::Api::WorkflowService::V1::DescribeNamespaceRequest.encode(request)
43
+ response = core_connection.call(:describe_namespace, encoded, metadata, timeout)
44
+
45
+ Temporal::Api::WorkflowService::V1::DescribeNamespaceResponse.decode(response)
46
+ end
47
+
48
+ # @param request [Temporal::Api::WorkflowService::V1::ListNamespacesRequest]
49
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
50
+ # Keys here override client-level RPC metadata keys.
51
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
52
+ #
53
+ # @return [Temporal::Api::WorkflowService::V1::ListNamespacesResponse]
54
+ def list_namespaces(request, metadata: {}, timeout: nil)
55
+ encoded = Temporal::Api::WorkflowService::V1::ListNamespacesRequest.encode(request)
56
+ response = core_connection.call(:list_namespaces, encoded, metadata, timeout)
57
+
58
+ Temporal::Api::WorkflowService::V1::ListNamespacesResponse.decode(response)
59
+ end
60
+
61
+ # @param request [Temporal::Api::WorkflowService::V1::UpdateNamespaceRequest]
62
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
63
+ # Keys here override client-level RPC metadata keys.
64
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
65
+ #
66
+ # @return [Temporal::Api::WorkflowService::V1::UpdateNamespaceResponse]
67
+ def update_namespace(request, metadata: {}, timeout: nil)
68
+ encoded = Temporal::Api::WorkflowService::V1::UpdateNamespaceRequest.encode(request)
69
+ response = core_connection.call(:update_namespace, encoded, metadata, timeout)
70
+
71
+ Temporal::Api::WorkflowService::V1::UpdateNamespaceResponse.decode(response)
72
+ end
73
+
74
+ # @param request [Temporal::Api::WorkflowService::V1::DeprecateNamespaceRequest]
75
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
76
+ # Keys here override client-level RPC metadata keys.
77
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
78
+ #
79
+ # @return [Temporal::Api::WorkflowService::V1::DeprecateNamespaceResponse]
80
+ def deprecate_namespace(request, metadata: {}, timeout: nil)
81
+ encoded = Temporal::Api::WorkflowService::V1::DeprecateNamespaceRequest.encode(request)
82
+ response = core_connection.call(:deprecate_namespace, encoded, metadata, timeout)
83
+
84
+ Temporal::Api::WorkflowService::V1::DeprecateNamespaceResponse.decode(response)
85
+ end
86
+
87
+ # @param request [Temporal::Api::WorkflowService::V1::StartWorkflowExecutionRequest]
88
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
89
+ # Keys here override client-level RPC metadata keys.
90
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
91
+ #
92
+ # @return [Temporal::Api::WorkflowService::V1::StartWorkflowExecutionResponse]
93
+ def start_workflow_execution(request, metadata: {}, timeout: nil)
94
+ encoded = Temporal::Api::WorkflowService::V1::StartWorkflowExecutionRequest.encode(request)
95
+ response = core_connection.call(:start_workflow_execution, encoded, metadata, timeout)
96
+
97
+ Temporal::Api::WorkflowService::V1::StartWorkflowExecutionResponse.decode(response)
98
+ end
99
+
100
+ # @param request [Temporal::Api::WorkflowService::V1::GetWorkflowExecutionHistoryRequest]
101
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
102
+ # Keys here override client-level RPC metadata keys.
103
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
104
+ #
105
+ # @return [Temporal::Api::WorkflowService::V1::GetWorkflowExecutionHistoryResponse]
106
+ def get_workflow_execution_history(request, metadata: {}, timeout: nil)
107
+ encoded = Temporal::Api::WorkflowService::V1::GetWorkflowExecutionHistoryRequest.encode(request)
108
+ response = core_connection.call(:get_workflow_execution_history, encoded, metadata, timeout)
109
+
110
+ Temporal::Api::WorkflowService::V1::GetWorkflowExecutionHistoryResponse.decode(response)
111
+ end
112
+
113
+ # @param request [Temporal::Api::WorkflowService::V1::GetWorkflowExecutionHistoryReverseRequest]
114
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
115
+ # Keys here override client-level RPC metadata keys.
116
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
117
+ #
118
+ # @return [Temporal::Api::WorkflowService::V1::GetWorkflowExecutionHistoryReverseResponse]
119
+ def get_workflow_execution_history_reverse(request, metadata: {}, timeout: nil)
120
+ encoded = Temporal::Api::WorkflowService::V1::GetWorkflowExecutionHistoryReverseRequest.encode(request)
121
+ response = core_connection.call(:get_workflow_execution_history_reverse, encoded, metadata, timeout)
122
+
123
+ Temporal::Api::WorkflowService::V1::GetWorkflowExecutionHistoryReverseResponse.decode(response)
124
+ end
125
+
126
+ # @param request [Temporal::Api::WorkflowService::V1::PollWorkflowTaskQueueRequest]
127
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
128
+ # Keys here override client-level RPC metadata keys.
129
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
130
+ #
131
+ # @return [Temporal::Api::WorkflowService::V1::PollWorkflowTaskQueueResponse]
132
+ def poll_workflow_task_queue(request, metadata: {}, timeout: nil)
133
+ encoded = Temporal::Api::WorkflowService::V1::PollWorkflowTaskQueueRequest.encode(request)
134
+ response = core_connection.call(:poll_workflow_task_queue, encoded, metadata, timeout)
135
+
136
+ Temporal::Api::WorkflowService::V1::PollWorkflowTaskQueueResponse.decode(response)
137
+ end
138
+
139
+ # @param request [Temporal::Api::WorkflowService::V1::RespondWorkflowTaskCompletedRequest]
140
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
141
+ # Keys here override client-level RPC metadata keys.
142
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
143
+ #
144
+ # @return [Temporal::Api::WorkflowService::V1::RespondWorkflowTaskCompletedResponse]
145
+ def respond_workflow_task_completed(request, metadata: {}, timeout: nil)
146
+ encoded = Temporal::Api::WorkflowService::V1::RespondWorkflowTaskCompletedRequest.encode(request)
147
+ response = core_connection.call(:respond_workflow_task_completed, encoded, metadata, timeout)
148
+
149
+ Temporal::Api::WorkflowService::V1::RespondWorkflowTaskCompletedResponse.decode(response)
150
+ end
151
+
152
+ # @param request [Temporal::Api::WorkflowService::V1::RespondWorkflowTaskFailedRequest]
153
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
154
+ # Keys here override client-level RPC metadata keys.
155
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
156
+ #
157
+ # @return [Temporal::Api::WorkflowService::V1::RespondWorkflowTaskFailedResponse]
158
+ def respond_workflow_task_failed(request, metadata: {}, timeout: nil)
159
+ encoded = Temporal::Api::WorkflowService::V1::RespondWorkflowTaskFailedRequest.encode(request)
160
+ response = core_connection.call(:respond_workflow_task_failed, encoded, metadata, timeout)
161
+
162
+ Temporal::Api::WorkflowService::V1::RespondWorkflowTaskFailedResponse.decode(response)
163
+ end
164
+
165
+ # @param request [Temporal::Api::WorkflowService::V1::PollActivityTaskQueueRequest]
166
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
167
+ # Keys here override client-level RPC metadata keys.
168
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
169
+ #
170
+ # @return [Temporal::Api::WorkflowService::V1::PollActivityTaskQueueResponse]
171
+ def poll_activity_task_queue(request, metadata: {}, timeout: nil)
172
+ encoded = Temporal::Api::WorkflowService::V1::PollActivityTaskQueueRequest.encode(request)
173
+ response = core_connection.call(:poll_activity_task_queue, encoded, metadata, timeout)
174
+
175
+ Temporal::Api::WorkflowService::V1::PollActivityTaskQueueResponse.decode(response)
176
+ end
177
+
178
+ # @param request [Temporal::Api::WorkflowService::V1::RecordActivityTaskHeartbeatRequest]
179
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
180
+ # Keys here override client-level RPC metadata keys.
181
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
182
+ #
183
+ # @return [Temporal::Api::WorkflowService::V1::RecordActivityTaskHeartbeatResponse]
184
+ def record_activity_task_heartbeat(request, metadata: {}, timeout: nil)
185
+ encoded = Temporal::Api::WorkflowService::V1::RecordActivityTaskHeartbeatRequest.encode(request)
186
+ response = core_connection.call(:record_activity_task_heartbeat, encoded, metadata, timeout)
187
+
188
+ Temporal::Api::WorkflowService::V1::RecordActivityTaskHeartbeatResponse.decode(response)
189
+ end
190
+
191
+ # @param request [Temporal::Api::WorkflowService::V1::RecordActivityTaskHeartbeatByIdRequest]
192
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
193
+ # Keys here override client-level RPC metadata keys.
194
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
195
+ #
196
+ # @return [Temporal::Api::WorkflowService::V1::RecordActivityTaskHeartbeatByIdResponse]
197
+ def record_activity_task_heartbeat_by_id(request, metadata: {}, timeout: nil)
198
+ encoded = Temporal::Api::WorkflowService::V1::RecordActivityTaskHeartbeatByIdRequest.encode(request)
199
+ response = core_connection.call(:record_activity_task_heartbeat_by_id, encoded, metadata, timeout)
200
+
201
+ Temporal::Api::WorkflowService::V1::RecordActivityTaskHeartbeatByIdResponse.decode(response)
202
+ end
203
+
204
+ # @param request [Temporal::Api::WorkflowService::V1::RespondActivityTaskCompletedRequest]
205
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
206
+ # Keys here override client-level RPC metadata keys.
207
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
208
+ #
209
+ # @return [Temporal::Api::WorkflowService::V1::RespondActivityTaskCompletedResponse]
210
+ def respond_activity_task_completed(request, metadata: {}, timeout: nil)
211
+ encoded = Temporal::Api::WorkflowService::V1::RespondActivityTaskCompletedRequest.encode(request)
212
+ response = core_connection.call(:respond_activity_task_completed, encoded, metadata, timeout)
213
+
214
+ Temporal::Api::WorkflowService::V1::RespondActivityTaskCompletedResponse.decode(response)
215
+ end
216
+
217
+ # @param request [Temporal::Api::WorkflowService::V1::RespondActivityTaskCompletedByIdRequest]
218
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
219
+ # Keys here override client-level RPC metadata keys.
220
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
221
+ #
222
+ # @return [Temporal::Api::WorkflowService::V1::RespondActivityTaskCompletedByIdResponse]
223
+ def respond_activity_task_completed_by_id(request, metadata: {}, timeout: nil)
224
+ encoded = Temporal::Api::WorkflowService::V1::RespondActivityTaskCompletedByIdRequest.encode(request)
225
+ response = core_connection.call(:respond_activity_task_completed_by_id, encoded, metadata, timeout)
226
+
227
+ Temporal::Api::WorkflowService::V1::RespondActivityTaskCompletedByIdResponse.decode(response)
228
+ end
229
+
230
+ # @param request [Temporal::Api::WorkflowService::V1::RespondActivityTaskFailedRequest]
231
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
232
+ # Keys here override client-level RPC metadata keys.
233
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
234
+ #
235
+ # @return [Temporal::Api::WorkflowService::V1::RespondActivityTaskFailedResponse]
236
+ def respond_activity_task_failed(request, metadata: {}, timeout: nil)
237
+ encoded = Temporal::Api::WorkflowService::V1::RespondActivityTaskFailedRequest.encode(request)
238
+ response = core_connection.call(:respond_activity_task_failed, encoded, metadata, timeout)
239
+
240
+ Temporal::Api::WorkflowService::V1::RespondActivityTaskFailedResponse.decode(response)
241
+ end
242
+
243
+ # @param request [Temporal::Api::WorkflowService::V1::RespondActivityTaskFailedByIdRequest]
244
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
245
+ # Keys here override client-level RPC metadata keys.
246
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
247
+ #
248
+ # @return [Temporal::Api::WorkflowService::V1::RespondActivityTaskFailedByIdResponse]
249
+ def respond_activity_task_failed_by_id(request, metadata: {}, timeout: nil)
250
+ encoded = Temporal::Api::WorkflowService::V1::RespondActivityTaskFailedByIdRequest.encode(request)
251
+ response = core_connection.call(:respond_activity_task_failed_by_id, encoded, metadata, timeout)
252
+
253
+ Temporal::Api::WorkflowService::V1::RespondActivityTaskFailedByIdResponse.decode(response)
254
+ end
255
+
256
+ # @param request [Temporal::Api::WorkflowService::V1::RespondActivityTaskCanceledRequest]
257
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
258
+ # Keys here override client-level RPC metadata keys.
259
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
260
+ #
261
+ # @return [Temporal::Api::WorkflowService::V1::RespondActivityTaskCanceledResponse]
262
+ def respond_activity_task_canceled(request, metadata: {}, timeout: nil)
263
+ encoded = Temporal::Api::WorkflowService::V1::RespondActivityTaskCanceledRequest.encode(request)
264
+ response = core_connection.call(:respond_activity_task_canceled, encoded, metadata, timeout)
265
+
266
+ Temporal::Api::WorkflowService::V1::RespondActivityTaskCanceledResponse.decode(response)
267
+ end
268
+
269
+ # @param request [Temporal::Api::WorkflowService::V1::RespondActivityTaskCanceledByIdRequest]
270
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
271
+ # Keys here override client-level RPC metadata keys.
272
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
273
+ #
274
+ # @return [Temporal::Api::WorkflowService::V1::RespondActivityTaskCanceledByIdResponse]
275
+ def respond_activity_task_canceled_by_id(request, metadata: {}, timeout: nil)
276
+ encoded = Temporal::Api::WorkflowService::V1::RespondActivityTaskCanceledByIdRequest.encode(request)
277
+ response = core_connection.call(:respond_activity_task_canceled_by_id, encoded, metadata, timeout)
278
+
279
+ Temporal::Api::WorkflowService::V1::RespondActivityTaskCanceledByIdResponse.decode(response)
280
+ end
281
+
282
+ # @param request [Temporal::Api::WorkflowService::V1::RequestCancelWorkflowExecutionRequest]
283
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
284
+ # Keys here override client-level RPC metadata keys.
285
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
286
+ #
287
+ # @return [Temporal::Api::WorkflowService::V1::RequestCancelWorkflowExecutionResponse]
288
+ def request_cancel_workflow_execution(request, metadata: {}, timeout: nil)
289
+ encoded = Temporal::Api::WorkflowService::V1::RequestCancelWorkflowExecutionRequest.encode(request)
290
+ response = core_connection.call(:request_cancel_workflow_execution, encoded, metadata, timeout)
291
+
292
+ Temporal::Api::WorkflowService::V1::RequestCancelWorkflowExecutionResponse.decode(response)
293
+ end
294
+
295
+ # @param request [Temporal::Api::WorkflowService::V1::SignalWorkflowExecutionRequest]
296
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
297
+ # Keys here override client-level RPC metadata keys.
298
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
299
+ #
300
+ # @return [Temporal::Api::WorkflowService::V1::SignalWorkflowExecutionResponse]
301
+ def signal_workflow_execution(request, metadata: {}, timeout: nil)
302
+ encoded = Temporal::Api::WorkflowService::V1::SignalWorkflowExecutionRequest.encode(request)
303
+ response = core_connection.call(:signal_workflow_execution, encoded, metadata, timeout)
304
+
305
+ Temporal::Api::WorkflowService::V1::SignalWorkflowExecutionResponse.decode(response)
306
+ end
307
+
308
+ # @param request [Temporal::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionRequest]
309
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
310
+ # Keys here override client-level RPC metadata keys.
311
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
312
+ #
313
+ # @return [Temporal::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionResponse]
314
+ def signal_with_start_workflow_execution(request, metadata: {}, timeout: nil)
315
+ encoded = Temporal::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionRequest.encode(request)
316
+ response = core_connection.call(:signal_with_start_workflow_execution, encoded, metadata, timeout)
317
+
318
+ Temporal::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionResponse.decode(response)
319
+ end
320
+
321
+ # @param request [Temporal::Api::WorkflowService::V1::ResetWorkflowExecutionRequest]
322
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
323
+ # Keys here override client-level RPC metadata keys.
324
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
325
+ #
326
+ # @return [Temporal::Api::WorkflowService::V1::ResetWorkflowExecutionResponse]
327
+ def reset_workflow_execution(request, metadata: {}, timeout: nil)
328
+ encoded = Temporal::Api::WorkflowService::V1::ResetWorkflowExecutionRequest.encode(request)
329
+ response = core_connection.call(:reset_workflow_execution, encoded, metadata, timeout)
330
+
331
+ Temporal::Api::WorkflowService::V1::ResetWorkflowExecutionResponse.decode(response)
332
+ end
333
+
334
+ # @param request [Temporal::Api::WorkflowService::V1::TerminateWorkflowExecutionRequest]
335
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
336
+ # Keys here override client-level RPC metadata keys.
337
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
338
+ #
339
+ # @return [Temporal::Api::WorkflowService::V1::TerminateWorkflowExecutionResponse]
340
+ def terminate_workflow_execution(request, metadata: {}, timeout: nil)
341
+ encoded = Temporal::Api::WorkflowService::V1::TerminateWorkflowExecutionRequest.encode(request)
342
+ response = core_connection.call(:terminate_workflow_execution, encoded, metadata, timeout)
343
+
344
+ Temporal::Api::WorkflowService::V1::TerminateWorkflowExecutionResponse.decode(response)
345
+ end
346
+
347
+ # @param request [Temporal::Api::WorkflowService::V1::ListOpenWorkflowExecutionsRequest]
348
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
349
+ # Keys here override client-level RPC metadata keys.
350
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
351
+ #
352
+ # @return [Temporal::Api::WorkflowService::V1::ListOpenWorkflowExecutionsResponse]
353
+ def list_open_workflow_executions(request, metadata: {}, timeout: nil)
354
+ encoded = Temporal::Api::WorkflowService::V1::ListOpenWorkflowExecutionsRequest.encode(request)
355
+ response = core_connection.call(:list_open_workflow_executions, encoded, metadata, timeout)
356
+
357
+ Temporal::Api::WorkflowService::V1::ListOpenWorkflowExecutionsResponse.decode(response)
358
+ end
359
+
360
+ # @param request [Temporal::Api::WorkflowService::V1::ListClosedWorkflowExecutionsRequest]
361
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
362
+ # Keys here override client-level RPC metadata keys.
363
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
364
+ #
365
+ # @return [Temporal::Api::WorkflowService::V1::ListClosedWorkflowExecutionsResponse]
366
+ def list_closed_workflow_executions(request, metadata: {}, timeout: nil)
367
+ encoded = Temporal::Api::WorkflowService::V1::ListClosedWorkflowExecutionsRequest.encode(request)
368
+ response = core_connection.call(:list_closed_workflow_executions, encoded, metadata, timeout)
369
+
370
+ Temporal::Api::WorkflowService::V1::ListClosedWorkflowExecutionsResponse.decode(response)
371
+ end
372
+
373
+ # @param request [Temporal::Api::WorkflowService::V1::ListWorkflowExecutionsRequest]
374
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
375
+ # Keys here override client-level RPC metadata keys.
376
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
377
+ #
378
+ # @return [Temporal::Api::WorkflowService::V1::ListWorkflowExecutionsResponse]
379
+ def list_workflow_executions(request, metadata: {}, timeout: nil)
380
+ encoded = Temporal::Api::WorkflowService::V1::ListWorkflowExecutionsRequest.encode(request)
381
+ response = core_connection.call(:list_workflow_executions, encoded, metadata, timeout)
382
+
383
+ Temporal::Api::WorkflowService::V1::ListWorkflowExecutionsResponse.decode(response)
384
+ end
385
+
386
+ # @param request [Temporal::Api::WorkflowService::V1::ListArchivedWorkflowExecutionsRequest]
387
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
388
+ # Keys here override client-level RPC metadata keys.
389
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
390
+ #
391
+ # @return [Temporal::Api::WorkflowService::V1::ListArchivedWorkflowExecutionsResponse]
392
+ def list_archived_workflow_executions(request, metadata: {}, timeout: nil)
393
+ encoded = Temporal::Api::WorkflowService::V1::ListArchivedWorkflowExecutionsRequest.encode(request)
394
+ response = core_connection.call(:list_archived_workflow_executions, encoded, metadata, timeout)
395
+
396
+ Temporal::Api::WorkflowService::V1::ListArchivedWorkflowExecutionsResponse.decode(response)
397
+ end
398
+
399
+ # @param request [Temporal::Api::WorkflowService::V1::ScanWorkflowExecutionsRequest]
400
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
401
+ # Keys here override client-level RPC metadata keys.
402
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
403
+ #
404
+ # @return [Temporal::Api::WorkflowService::V1::ScanWorkflowExecutionsResponse]
405
+ def scan_workflow_executions(request, metadata: {}, timeout: nil)
406
+ encoded = Temporal::Api::WorkflowService::V1::ScanWorkflowExecutionsRequest.encode(request)
407
+ response = core_connection.call(:scan_workflow_executions, encoded, metadata, timeout)
408
+
409
+ Temporal::Api::WorkflowService::V1::ScanWorkflowExecutionsResponse.decode(response)
410
+ end
411
+
412
+ # @param request [Temporal::Api::WorkflowService::V1::CountWorkflowExecutionsRequest]
413
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
414
+ # Keys here override client-level RPC metadata keys.
415
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
416
+ #
417
+ # @return [Temporal::Api::WorkflowService::V1::CountWorkflowExecutionsResponse]
418
+ def count_workflow_executions(request, metadata: {}, timeout: nil)
419
+ encoded = Temporal::Api::WorkflowService::V1::CountWorkflowExecutionsRequest.encode(request)
420
+ response = core_connection.call(:count_workflow_executions, encoded, metadata, timeout)
421
+
422
+ Temporal::Api::WorkflowService::V1::CountWorkflowExecutionsResponse.decode(response)
423
+ end
424
+
425
+ # @param request [Temporal::Api::WorkflowService::V1::GetSearchAttributesRequest]
426
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
427
+ # Keys here override client-level RPC metadata keys.
428
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
429
+ #
430
+ # @return [Temporal::Api::WorkflowService::V1::GetSearchAttributesResponse]
431
+ def get_search_attributes(request, metadata: {}, timeout: nil)
432
+ encoded = Temporal::Api::WorkflowService::V1::GetSearchAttributesRequest.encode(request)
433
+ response = core_connection.call(:get_search_attributes, encoded, metadata, timeout)
434
+
435
+ Temporal::Api::WorkflowService::V1::GetSearchAttributesResponse.decode(response)
436
+ end
437
+
438
+ # @param request [Temporal::Api::WorkflowService::V1::RespondQueryTaskCompletedRequest]
439
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
440
+ # Keys here override client-level RPC metadata keys.
441
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
442
+ #
443
+ # @return [Temporal::Api::WorkflowService::V1::RespondQueryTaskCompletedResponse]
444
+ def respond_query_task_completed(request, metadata: {}, timeout: nil)
445
+ encoded = Temporal::Api::WorkflowService::V1::RespondQueryTaskCompletedRequest.encode(request)
446
+ response = core_connection.call(:respond_query_task_completed, encoded, metadata, timeout)
447
+
448
+ Temporal::Api::WorkflowService::V1::RespondQueryTaskCompletedResponse.decode(response)
449
+ end
450
+
451
+ # @param request [Temporal::Api::WorkflowService::V1::ResetStickyTaskQueueRequest]
452
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
453
+ # Keys here override client-level RPC metadata keys.
454
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
455
+ #
456
+ # @return [Temporal::Api::WorkflowService::V1::ResetStickyTaskQueueResponse]
457
+ def reset_sticky_task_queue(request, metadata: {}, timeout: nil)
458
+ encoded = Temporal::Api::WorkflowService::V1::ResetStickyTaskQueueRequest.encode(request)
459
+ response = core_connection.call(:reset_sticky_task_queue, encoded, metadata, timeout)
460
+
461
+ Temporal::Api::WorkflowService::V1::ResetStickyTaskQueueResponse.decode(response)
462
+ end
463
+
464
+ # @param request [Temporal::Api::WorkflowService::V1::QueryWorkflowRequest]
465
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
466
+ # Keys here override client-level RPC metadata keys.
467
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
468
+ #
469
+ # @return [Temporal::Api::WorkflowService::V1::QueryWorkflowResponse]
470
+ def query_workflow(request, metadata: {}, timeout: nil)
471
+ encoded = Temporal::Api::WorkflowService::V1::QueryWorkflowRequest.encode(request)
472
+ response = core_connection.call(:query_workflow, encoded, metadata, timeout)
473
+
474
+ Temporal::Api::WorkflowService::V1::QueryWorkflowResponse.decode(response)
475
+ end
476
+
477
+ # @param request [Temporal::Api::WorkflowService::V1::DescribeWorkflowExecutionRequest]
478
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
479
+ # Keys here override client-level RPC metadata keys.
480
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
481
+ #
482
+ # @return [Temporal::Api::WorkflowService::V1::DescribeWorkflowExecutionResponse]
483
+ def describe_workflow_execution(request, metadata: {}, timeout: nil)
484
+ encoded = Temporal::Api::WorkflowService::V1::DescribeWorkflowExecutionRequest.encode(request)
485
+ response = core_connection.call(:describe_workflow_execution, encoded, metadata, timeout)
486
+
487
+ Temporal::Api::WorkflowService::V1::DescribeWorkflowExecutionResponse.decode(response)
488
+ end
489
+
490
+ # @param request [Temporal::Api::WorkflowService::V1::DescribeTaskQueueRequest]
491
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
492
+ # Keys here override client-level RPC metadata keys.
493
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
494
+ #
495
+ # @return [Temporal::Api::WorkflowService::V1::DescribeTaskQueueResponse]
496
+ def describe_task_queue(request, metadata: {}, timeout: nil)
497
+ encoded = Temporal::Api::WorkflowService::V1::DescribeTaskQueueRequest.encode(request)
498
+ response = core_connection.call(:describe_task_queue, encoded, metadata, timeout)
499
+
500
+ Temporal::Api::WorkflowService::V1::DescribeTaskQueueResponse.decode(response)
501
+ end
502
+
503
+ # @param request [Temporal::Api::WorkflowService::V1::GetClusterInfoRequest]
504
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
505
+ # Keys here override client-level RPC metadata keys.
506
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
507
+ #
508
+ # @return [Temporal::Api::WorkflowService::V1::GetClusterInfoResponse]
509
+ def get_cluster_info(request, metadata: {}, timeout: nil)
510
+ encoded = Temporal::Api::WorkflowService::V1::GetClusterInfoRequest.encode(request)
511
+ response = core_connection.call(:get_cluster_info, encoded, metadata, timeout)
512
+
513
+ Temporal::Api::WorkflowService::V1::GetClusterInfoResponse.decode(response)
514
+ end
515
+
516
+ # @param request [Temporal::Api::WorkflowService::V1::GetSystemInfoRequest]
517
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
518
+ # Keys here override client-level RPC metadata keys.
519
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
520
+ #
521
+ # @return [Temporal::Api::WorkflowService::V1::GetSystemInfoResponse]
522
+ def get_system_info(request, metadata: {}, timeout: nil)
523
+ encoded = Temporal::Api::WorkflowService::V1::GetSystemInfoRequest.encode(request)
524
+ response = core_connection.call(:get_system_info, encoded, metadata, timeout)
525
+
526
+ Temporal::Api::WorkflowService::V1::GetSystemInfoResponse.decode(response)
527
+ end
528
+
529
+ # @param request [Temporal::Api::WorkflowService::V1::ListTaskQueuePartitionsRequest]
530
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
531
+ # Keys here override client-level RPC metadata keys.
532
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
533
+ #
534
+ # @return [Temporal::Api::WorkflowService::V1::ListTaskQueuePartitionsResponse]
535
+ def list_task_queue_partitions(request, metadata: {}, timeout: nil)
536
+ encoded = Temporal::Api::WorkflowService::V1::ListTaskQueuePartitionsRequest.encode(request)
537
+ response = core_connection.call(:list_task_queue_partitions, encoded, metadata, timeout)
538
+
539
+ Temporal::Api::WorkflowService::V1::ListTaskQueuePartitionsResponse.decode(response)
540
+ end
541
+
542
+ # @param request [Temporal::Api::WorkflowService::V1::CreateScheduleRequest]
543
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
544
+ # Keys here override client-level RPC metadata keys.
545
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
546
+ #
547
+ # @return [Temporal::Api::WorkflowService::V1::CreateScheduleResponse]
548
+ def create_schedule(request, metadata: {}, timeout: nil)
549
+ encoded = Temporal::Api::WorkflowService::V1::CreateScheduleRequest.encode(request)
550
+ response = core_connection.call(:create_schedule, encoded, metadata, timeout)
551
+
552
+ Temporal::Api::WorkflowService::V1::CreateScheduleResponse.decode(response)
553
+ end
554
+
555
+ # @param request [Temporal::Api::WorkflowService::V1::DescribeScheduleRequest]
556
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
557
+ # Keys here override client-level RPC metadata keys.
558
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
559
+ #
560
+ # @return [Temporal::Api::WorkflowService::V1::DescribeScheduleResponse]
561
+ def describe_schedule(request, metadata: {}, timeout: nil)
562
+ encoded = Temporal::Api::WorkflowService::V1::DescribeScheduleRequest.encode(request)
563
+ response = core_connection.call(:describe_schedule, encoded, metadata, timeout)
564
+
565
+ Temporal::Api::WorkflowService::V1::DescribeScheduleResponse.decode(response)
566
+ end
567
+
568
+ # @param request [Temporal::Api::WorkflowService::V1::UpdateScheduleRequest]
569
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
570
+ # Keys here override client-level RPC metadata keys.
571
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
572
+ #
573
+ # @return [Temporal::Api::WorkflowService::V1::UpdateScheduleResponse]
574
+ def update_schedule(request, metadata: {}, timeout: nil)
575
+ encoded = Temporal::Api::WorkflowService::V1::UpdateScheduleRequest.encode(request)
576
+ response = core_connection.call(:update_schedule, encoded, metadata, timeout)
577
+
578
+ Temporal::Api::WorkflowService::V1::UpdateScheduleResponse.decode(response)
579
+ end
580
+
581
+ # @param request [Temporal::Api::WorkflowService::V1::PatchScheduleRequest]
582
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
583
+ # Keys here override client-level RPC metadata keys.
584
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
585
+ #
586
+ # @return [Temporal::Api::WorkflowService::V1::PatchScheduleResponse]
587
+ def patch_schedule(request, metadata: {}, timeout: nil)
588
+ encoded = Temporal::Api::WorkflowService::V1::PatchScheduleRequest.encode(request)
589
+ response = core_connection.call(:patch_schedule, encoded, metadata, timeout)
590
+
591
+ Temporal::Api::WorkflowService::V1::PatchScheduleResponse.decode(response)
592
+ end
593
+
594
+ # @param request [Temporal::Api::WorkflowService::V1::ListScheduleMatchingTimesRequest]
595
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
596
+ # Keys here override client-level RPC metadata keys.
597
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
598
+ #
599
+ # @return [Temporal::Api::WorkflowService::V1::ListScheduleMatchingTimesResponse]
600
+ def list_schedule_matching_times(request, metadata: {}, timeout: nil)
601
+ encoded = Temporal::Api::WorkflowService::V1::ListScheduleMatchingTimesRequest.encode(request)
602
+ response = core_connection.call(:list_schedule_matching_times, encoded, metadata, timeout)
603
+
604
+ Temporal::Api::WorkflowService::V1::ListScheduleMatchingTimesResponse.decode(response)
605
+ end
606
+
607
+ # @param request [Temporal::Api::WorkflowService::V1::DeleteScheduleRequest]
608
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
609
+ # Keys here override client-level RPC metadata keys.
610
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
611
+ #
612
+ # @return [Temporal::Api::WorkflowService::V1::DeleteScheduleResponse]
613
+ def delete_schedule(request, metadata: {}, timeout: nil)
614
+ encoded = Temporal::Api::WorkflowService::V1::DeleteScheduleRequest.encode(request)
615
+ response = core_connection.call(:delete_schedule, encoded, metadata, timeout)
616
+
617
+ Temporal::Api::WorkflowService::V1::DeleteScheduleResponse.decode(response)
618
+ end
619
+
620
+ # @param request [Temporal::Api::WorkflowService::V1::ListSchedulesRequest]
621
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
622
+ # Keys here override client-level RPC metadata keys.
623
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
624
+ #
625
+ # @return [Temporal::Api::WorkflowService::V1::ListSchedulesResponse]
626
+ def list_schedules(request, metadata: {}, timeout: nil)
627
+ encoded = Temporal::Api::WorkflowService::V1::ListSchedulesRequest.encode(request)
628
+ response = core_connection.call(:list_schedules, encoded, metadata, timeout)
629
+
630
+ Temporal::Api::WorkflowService::V1::ListSchedulesResponse.decode(response)
631
+ end
632
+
633
+ # @param request [Temporal::Api::WorkflowService::V1::UpdateWorkerBuildIdOrderingRequest]
634
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
635
+ # Keys here override client-level RPC metadata keys.
636
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
637
+ #
638
+ # @return [Temporal::Api::WorkflowService::V1::UpdateWorkerBuildIdOrderingResponse]
639
+ def update_worker_build_id_ordering(request, metadata: {}, timeout: nil)
640
+ encoded = Temporal::Api::WorkflowService::V1::UpdateWorkerBuildIdOrderingRequest.encode(request)
641
+ response = core_connection.call(:update_worker_build_id_ordering, encoded, metadata, timeout)
642
+
643
+ Temporal::Api::WorkflowService::V1::UpdateWorkerBuildIdOrderingResponse.decode(response)
644
+ end
645
+
646
+ # @param request [Temporal::Api::WorkflowService::V1::GetWorkerBuildIdOrderingRequest]
647
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
648
+ # Keys here override client-level RPC metadata keys.
649
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
650
+ #
651
+ # @return [Temporal::Api::WorkflowService::V1::GetWorkerBuildIdOrderingResponse]
652
+ def get_worker_build_id_ordering(request, metadata: {}, timeout: nil)
653
+ encoded = Temporal::Api::WorkflowService::V1::GetWorkerBuildIdOrderingRequest.encode(request)
654
+ response = core_connection.call(:get_worker_build_id_ordering, encoded, metadata, timeout)
655
+
656
+ Temporal::Api::WorkflowService::V1::GetWorkerBuildIdOrderingResponse.decode(response)
657
+ end
658
+
659
+ # @param request [Temporal::Api::WorkflowService::V1::UpdateWorkflowRequest]
660
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
661
+ # Keys here override client-level RPC metadata keys.
662
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
663
+ #
664
+ # @return [Temporal::Api::WorkflowService::V1::UpdateWorkflowResponse]
665
+ def update_workflow(request, metadata: {}, timeout: nil)
666
+ encoded = Temporal::Api::WorkflowService::V1::UpdateWorkflowRequest.encode(request)
667
+ response = core_connection.call(:update_workflow, encoded, metadata, timeout)
668
+
669
+ Temporal::Api::WorkflowService::V1::UpdateWorkflowResponse.decode(response)
670
+ end
671
+
672
+ # @param request [Temporal::Api::WorkflowService::V1::StartBatchOperationRequest]
673
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
674
+ # Keys here override client-level RPC metadata keys.
675
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
676
+ #
677
+ # @return [Temporal::Api::WorkflowService::V1::StartBatchOperationResponse]
678
+ def start_batch_operation(request, metadata: {}, timeout: nil)
679
+ encoded = Temporal::Api::WorkflowService::V1::StartBatchOperationRequest.encode(request)
680
+ response = core_connection.call(:start_batch_operation, encoded, metadata, timeout)
681
+
682
+ Temporal::Api::WorkflowService::V1::StartBatchOperationResponse.decode(response)
683
+ end
684
+
685
+ # @param request [Temporal::Api::WorkflowService::V1::StopBatchOperationRequest]
686
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
687
+ # Keys here override client-level RPC metadata keys.
688
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
689
+ #
690
+ # @return [Temporal::Api::WorkflowService::V1::StopBatchOperationResponse]
691
+ def stop_batch_operation(request, metadata: {}, timeout: nil)
692
+ encoded = Temporal::Api::WorkflowService::V1::StopBatchOperationRequest.encode(request)
693
+ response = core_connection.call(:stop_batch_operation, encoded, metadata, timeout)
694
+
695
+ Temporal::Api::WorkflowService::V1::StopBatchOperationResponse.decode(response)
696
+ end
697
+
698
+ # @param request [Temporal::Api::WorkflowService::V1::DescribeBatchOperationRequest]
699
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
700
+ # Keys here override client-level RPC metadata keys.
701
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
702
+ #
703
+ # @return [Temporal::Api::WorkflowService::V1::DescribeBatchOperationResponse]
704
+ def describe_batch_operation(request, metadata: {}, timeout: nil)
705
+ encoded = Temporal::Api::WorkflowService::V1::DescribeBatchOperationRequest.encode(request)
706
+ response = core_connection.call(:describe_batch_operation, encoded, metadata, timeout)
707
+
708
+ Temporal::Api::WorkflowService::V1::DescribeBatchOperationResponse.decode(response)
709
+ end
710
+
711
+ # @param request [Temporal::Api::WorkflowService::V1::ListBatchOperationsRequest]
712
+ # @param metadata [Hash<String, String>] Headers used on the RPC call.
713
+ # Keys here override client-level RPC metadata keys.
714
+ # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
715
+ #
716
+ # @return [Temporal::Api::WorkflowService::V1::ListBatchOperationsResponse]
717
+ def list_batch_operations(request, metadata: {}, timeout: nil)
718
+ encoded = Temporal::Api::WorkflowService::V1::ListBatchOperationsRequest.encode(request)
719
+ response = core_connection.call(:list_batch_operations, encoded, metadata, timeout)
720
+
721
+ Temporal::Api::WorkflowService::V1::ListBatchOperationsResponse.decode(response)
722
+ end
723
+
724
+ private
725
+
726
+ def parse_url(url)
727
+ # Turn this into a valid URI before parsing
728
+ uri = URI.parse(url.include?('://') ? url : "//#{url}")
729
+ raise Temporal::Error, 'Target host as URL with scheme are not supported' if uri.scheme
730
+
731
+ # TODO: Add support for mTLS
732
+ uri.scheme = 'http'
733
+ uri.to_s
734
+ end
735
+ end
736
+ end