temporalio 0.0.0 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (316) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +130 -0
  3. data/bridge/Cargo.lock +2865 -0
  4. data/bridge/Cargo.toml +26 -0
  5. data/bridge/sdk-core/ARCHITECTURE.md +76 -0
  6. data/bridge/sdk-core/Cargo.lock +2606 -0
  7. data/bridge/sdk-core/Cargo.toml +2 -0
  8. data/bridge/sdk-core/LICENSE.txt +23 -0
  9. data/bridge/sdk-core/README.md +107 -0
  10. data/bridge/sdk-core/arch_docs/diagrams/README.md +10 -0
  11. data/bridge/sdk-core/arch_docs/diagrams/sticky_queues.puml +40 -0
  12. data/bridge/sdk-core/arch_docs/diagrams/workflow_internals.svg +1 -0
  13. data/bridge/sdk-core/arch_docs/sticky_queues.md +51 -0
  14. data/bridge/sdk-core/bridge-ffi/Cargo.toml +24 -0
  15. data/bridge/sdk-core/bridge-ffi/LICENSE.txt +23 -0
  16. data/bridge/sdk-core/bridge-ffi/build.rs +25 -0
  17. data/bridge/sdk-core/bridge-ffi/include/sdk-core-bridge.h +249 -0
  18. data/bridge/sdk-core/bridge-ffi/src/lib.rs +825 -0
  19. data/bridge/sdk-core/bridge-ffi/src/wrappers.rs +211 -0
  20. data/bridge/sdk-core/client/Cargo.toml +40 -0
  21. data/bridge/sdk-core/client/LICENSE.txt +23 -0
  22. data/bridge/sdk-core/client/src/lib.rs +1294 -0
  23. data/bridge/sdk-core/client/src/metrics.rs +165 -0
  24. data/bridge/sdk-core/client/src/raw.rs +931 -0
  25. data/bridge/sdk-core/client/src/retry.rs +674 -0
  26. data/bridge/sdk-core/client/src/workflow_handle/mod.rs +185 -0
  27. data/bridge/sdk-core/core/Cargo.toml +116 -0
  28. data/bridge/sdk-core/core/LICENSE.txt +23 -0
  29. data/bridge/sdk-core/core/benches/workflow_replay.rs +73 -0
  30. data/bridge/sdk-core/core/src/abstractions.rs +166 -0
  31. data/bridge/sdk-core/core/src/core_tests/activity_tasks.rs +911 -0
  32. data/bridge/sdk-core/core/src/core_tests/child_workflows.rs +221 -0
  33. data/bridge/sdk-core/core/src/core_tests/determinism.rs +107 -0
  34. data/bridge/sdk-core/core/src/core_tests/local_activities.rs +515 -0
  35. data/bridge/sdk-core/core/src/core_tests/mod.rs +100 -0
  36. data/bridge/sdk-core/core/src/core_tests/queries.rs +736 -0
  37. data/bridge/sdk-core/core/src/core_tests/replay_flag.rs +65 -0
  38. data/bridge/sdk-core/core/src/core_tests/workers.rs +259 -0
  39. data/bridge/sdk-core/core/src/core_tests/workflow_cancels.rs +124 -0
  40. data/bridge/sdk-core/core/src/core_tests/workflow_tasks.rs +2070 -0
  41. data/bridge/sdk-core/core/src/ephemeral_server/mod.rs +515 -0
  42. data/bridge/sdk-core/core/src/lib.rs +175 -0
  43. data/bridge/sdk-core/core/src/log_export.rs +62 -0
  44. data/bridge/sdk-core/core/src/pollers/mod.rs +54 -0
  45. data/bridge/sdk-core/core/src/pollers/poll_buffer.rs +297 -0
  46. data/bridge/sdk-core/core/src/protosext/mod.rs +428 -0
  47. data/bridge/sdk-core/core/src/replay/mod.rs +71 -0
  48. data/bridge/sdk-core/core/src/retry_logic.rs +202 -0
  49. data/bridge/sdk-core/core/src/telemetry/metrics.rs +383 -0
  50. data/bridge/sdk-core/core/src/telemetry/mod.rs +412 -0
  51. data/bridge/sdk-core/core/src/telemetry/prometheus_server.rs +77 -0
  52. data/bridge/sdk-core/core/src/test_help/mod.rs +875 -0
  53. data/bridge/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +580 -0
  54. data/bridge/sdk-core/core/src/worker/activities/local_activities.rs +1042 -0
  55. data/bridge/sdk-core/core/src/worker/activities.rs +464 -0
  56. data/bridge/sdk-core/core/src/worker/client/mocks.rs +87 -0
  57. data/bridge/sdk-core/core/src/worker/client.rs +347 -0
  58. data/bridge/sdk-core/core/src/worker/mod.rs +566 -0
  59. data/bridge/sdk-core/core/src/worker/workflow/bridge.rs +37 -0
  60. data/bridge/sdk-core/core/src/worker/workflow/driven_workflow.rs +110 -0
  61. data/bridge/sdk-core/core/src/worker/workflow/history_update.rs +458 -0
  62. data/bridge/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +911 -0
  63. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +298 -0
  64. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +171 -0
  65. data/bridge/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +860 -0
  66. data/bridge/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +140 -0
  67. data/bridge/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +161 -0
  68. data/bridge/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +133 -0
  69. data/bridge/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +1448 -0
  70. data/bridge/sdk-core/core/src/worker/workflow/machines/mod.rs +342 -0
  71. data/bridge/sdk-core/core/src/worker/workflow/machines/mutable_side_effect_state_machine.rs +127 -0
  72. data/bridge/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +712 -0
  73. data/bridge/sdk-core/core/src/worker/workflow/machines/side_effect_state_machine.rs +71 -0
  74. data/bridge/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +443 -0
  75. data/bridge/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +439 -0
  76. data/bridge/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +169 -0
  77. data/bridge/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +246 -0
  78. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines/local_acts.rs +96 -0
  79. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +1184 -0
  80. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +277 -0
  81. data/bridge/sdk-core/core/src/worker/workflow/managed_run/managed_wf_test.rs +198 -0
  82. data/bridge/sdk-core/core/src/worker/workflow/managed_run.rs +647 -0
  83. data/bridge/sdk-core/core/src/worker/workflow/mod.rs +1143 -0
  84. data/bridge/sdk-core/core/src/worker/workflow/run_cache.rs +145 -0
  85. data/bridge/sdk-core/core/src/worker/workflow/wft_poller.rs +88 -0
  86. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream.rs +940 -0
  87. data/bridge/sdk-core/core-api/Cargo.toml +31 -0
  88. data/bridge/sdk-core/core-api/LICENSE.txt +23 -0
  89. data/bridge/sdk-core/core-api/src/errors.rs +95 -0
  90. data/bridge/sdk-core/core-api/src/lib.rs +151 -0
  91. data/bridge/sdk-core/core-api/src/worker.rs +135 -0
  92. data/bridge/sdk-core/etc/deps.svg +187 -0
  93. data/bridge/sdk-core/etc/dynamic-config.yaml +2 -0
  94. data/bridge/sdk-core/etc/otel-collector-config.yaml +36 -0
  95. data/bridge/sdk-core/etc/prometheus.yaml +6 -0
  96. data/bridge/sdk-core/fsm/Cargo.toml +18 -0
  97. data/bridge/sdk-core/fsm/LICENSE.txt +23 -0
  98. data/bridge/sdk-core/fsm/README.md +3 -0
  99. data/bridge/sdk-core/fsm/rustfsm_procmacro/Cargo.toml +27 -0
  100. data/bridge/sdk-core/fsm/rustfsm_procmacro/LICENSE.txt +23 -0
  101. data/bridge/sdk-core/fsm/rustfsm_procmacro/src/lib.rs +647 -0
  102. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/progress.rs +8 -0
  103. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.rs +18 -0
  104. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.stderr +12 -0
  105. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dynamic_dest_pass.rs +41 -0
  106. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/forgot_name_fail.rs +14 -0
  107. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/forgot_name_fail.stderr +11 -0
  108. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/handler_arg_pass.rs +32 -0
  109. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/handler_pass.rs +31 -0
  110. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/medium_complex_pass.rs +46 -0
  111. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.rs +29 -0
  112. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.stderr +12 -0
  113. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/simple_pass.rs +32 -0
  114. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.rs +18 -0
  115. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.stderr +5 -0
  116. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.rs +11 -0
  117. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.stderr +5 -0
  118. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.rs +11 -0
  119. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.stderr +5 -0
  120. data/bridge/sdk-core/fsm/rustfsm_trait/Cargo.toml +14 -0
  121. data/bridge/sdk-core/fsm/rustfsm_trait/LICENSE.txt +23 -0
  122. data/bridge/sdk-core/fsm/rustfsm_trait/src/lib.rs +249 -0
  123. data/bridge/sdk-core/fsm/src/lib.rs +2 -0
  124. data/bridge/sdk-core/histories/fail_wf_task.bin +0 -0
  125. data/bridge/sdk-core/histories/timer_workflow_history.bin +0 -0
  126. data/bridge/sdk-core/integ-with-otel.sh +7 -0
  127. data/bridge/sdk-core/protos/api_upstream/README.md +9 -0
  128. data/bridge/sdk-core/protos/api_upstream/api-linter.yaml +40 -0
  129. data/bridge/sdk-core/protos/api_upstream/buf.yaml +12 -0
  130. data/bridge/sdk-core/protos/api_upstream/dependencies/gogoproto/gogo.proto +141 -0
  131. data/bridge/sdk-core/protos/api_upstream/temporal/api/batch/v1/message.proto +86 -0
  132. data/bridge/sdk-core/protos/api_upstream/temporal/api/cluster/v1/message.proto +83 -0
  133. data/bridge/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto +259 -0
  134. data/bridge/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto +112 -0
  135. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto +46 -0
  136. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/cluster.proto +40 -0
  137. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/command_type.proto +57 -0
  138. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/common.proto +55 -0
  139. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/event_type.proto +168 -0
  140. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +97 -0
  141. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/namespace.proto +51 -0
  142. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/query.proto +50 -0
  143. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/reset.proto +41 -0
  144. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/schedule.proto +60 -0
  145. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +59 -0
  146. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/update.proto +51 -0
  147. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/workflow.proto +122 -0
  148. data/bridge/sdk-core/protos/api_upstream/temporal/api/errordetails/v1/message.proto +108 -0
  149. data/bridge/sdk-core/protos/api_upstream/temporal/api/failure/v1/message.proto +114 -0
  150. data/bridge/sdk-core/protos/api_upstream/temporal/api/filter/v1/message.proto +56 -0
  151. data/bridge/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto +751 -0
  152. data/bridge/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto +97 -0
  153. data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +161 -0
  154. data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +99 -0
  155. data/bridge/sdk-core/protos/api_upstream/temporal/api/query/v1/message.proto +61 -0
  156. data/bridge/sdk-core/protos/api_upstream/temporal/api/replication/v1/message.proto +55 -0
  157. data/bridge/sdk-core/protos/api_upstream/temporal/api/schedule/v1/message.proto +300 -0
  158. data/bridge/sdk-core/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +108 -0
  159. data/bridge/sdk-core/protos/api_upstream/temporal/api/update/v1/message.proto +46 -0
  160. data/bridge/sdk-core/protos/api_upstream/temporal/api/version/v1/message.proto +59 -0
  161. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflow/v1/message.proto +145 -0
  162. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +1124 -0
  163. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +401 -0
  164. data/bridge/sdk-core/protos/grpc/health/v1/health.proto +63 -0
  165. data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_result/activity_result.proto +78 -0
  166. data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_task/activity_task.proto +79 -0
  167. data/bridge/sdk-core/protos/local/temporal/sdk/core/bridge/bridge.proto +210 -0
  168. data/bridge/sdk-core/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto +77 -0
  169. data/bridge/sdk-core/protos/local/temporal/sdk/core/common/common.proto +15 -0
  170. data/bridge/sdk-core/protos/local/temporal/sdk/core/core_interface.proto +30 -0
  171. data/bridge/sdk-core/protos/local/temporal/sdk/core/external_data/external_data.proto +30 -0
  172. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +261 -0
  173. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +297 -0
  174. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +29 -0
  175. data/bridge/sdk-core/protos/testsrv_upstream/api-linter.yaml +38 -0
  176. data/bridge/sdk-core/protos/testsrv_upstream/buf.yaml +13 -0
  177. data/bridge/sdk-core/protos/testsrv_upstream/dependencies/gogoproto/gogo.proto +141 -0
  178. data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto +63 -0
  179. data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto +90 -0
  180. data/bridge/sdk-core/rustfmt.toml +1 -0
  181. data/bridge/sdk-core/sdk/Cargo.toml +47 -0
  182. data/bridge/sdk-core/sdk/LICENSE.txt +23 -0
  183. data/bridge/sdk-core/sdk/src/activity_context.rs +230 -0
  184. data/bridge/sdk-core/sdk/src/app_data.rs +37 -0
  185. data/bridge/sdk-core/sdk/src/conversions.rs +8 -0
  186. data/bridge/sdk-core/sdk/src/interceptors.rs +17 -0
  187. data/bridge/sdk-core/sdk/src/lib.rs +792 -0
  188. data/bridge/sdk-core/sdk/src/payload_converter.rs +11 -0
  189. data/bridge/sdk-core/sdk/src/workflow_context/options.rs +295 -0
  190. data/bridge/sdk-core/sdk/src/workflow_context.rs +683 -0
  191. data/bridge/sdk-core/sdk/src/workflow_future.rs +503 -0
  192. data/bridge/sdk-core/sdk-core-protos/Cargo.toml +30 -0
  193. data/bridge/sdk-core/sdk-core-protos/LICENSE.txt +23 -0
  194. data/bridge/sdk-core/sdk-core-protos/build.rs +108 -0
  195. data/bridge/sdk-core/sdk-core-protos/src/constants.rs +7 -0
  196. data/bridge/sdk-core/sdk-core-protos/src/history_builder.rs +497 -0
  197. data/bridge/sdk-core/sdk-core-protos/src/history_info.rs +230 -0
  198. data/bridge/sdk-core/sdk-core-protos/src/lib.rs +1910 -0
  199. data/bridge/sdk-core/sdk-core-protos/src/task_token.rs +38 -0
  200. data/bridge/sdk-core/sdk-core-protos/src/utilities.rs +14 -0
  201. data/bridge/sdk-core/test-utils/Cargo.toml +35 -0
  202. data/bridge/sdk-core/test-utils/src/canned_histories.rs +1579 -0
  203. data/bridge/sdk-core/test-utils/src/histfetch.rs +28 -0
  204. data/bridge/sdk-core/test-utils/src/lib.rs +598 -0
  205. data/bridge/sdk-core/tests/integ_tests/client_tests.rs +36 -0
  206. data/bridge/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +128 -0
  207. data/bridge/sdk-core/tests/integ_tests/heartbeat_tests.rs +218 -0
  208. data/bridge/sdk-core/tests/integ_tests/polling_tests.rs +146 -0
  209. data/bridge/sdk-core/tests/integ_tests/queries_tests.rs +437 -0
  210. data/bridge/sdk-core/tests/integ_tests/visibility_tests.rs +93 -0
  211. data/bridge/sdk-core/tests/integ_tests/workflow_tests/activities.rs +878 -0
  212. data/bridge/sdk-core/tests/integ_tests/workflow_tests/appdata_propagation.rs +61 -0
  213. data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +59 -0
  214. data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +58 -0
  215. data/bridge/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +50 -0
  216. data/bridge/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +60 -0
  217. data/bridge/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +54 -0
  218. data/bridge/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +634 -0
  219. data/bridge/sdk-core/tests/integ_tests/workflow_tests/patches.rs +113 -0
  220. data/bridge/sdk-core/tests/integ_tests/workflow_tests/replay.rs +137 -0
  221. data/bridge/sdk-core/tests/integ_tests/workflow_tests/resets.rs +93 -0
  222. data/bridge/sdk-core/tests/integ_tests/workflow_tests/signals.rs +167 -0
  223. data/bridge/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +99 -0
  224. data/bridge/sdk-core/tests/integ_tests/workflow_tests/timers.rs +131 -0
  225. data/bridge/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +75 -0
  226. data/bridge/sdk-core/tests/integ_tests/workflow_tests.rs +587 -0
  227. data/bridge/sdk-core/tests/load_tests.rs +191 -0
  228. data/bridge/sdk-core/tests/main.rs +111 -0
  229. data/bridge/sdk-core/tests/runner.rs +93 -0
  230. data/bridge/src/connection.rs +167 -0
  231. data/bridge/src/lib.rs +180 -0
  232. data/bridge/src/runtime.rs +47 -0
  233. data/bridge/src/worker.rs +73 -0
  234. data/ext/Rakefile +9 -0
  235. data/lib/bridge.so +0 -0
  236. data/lib/gen/dependencies/gogoproto/gogo_pb.rb +14 -0
  237. data/lib/gen/temporal/api/batch/v1/message_pb.rb +48 -0
  238. data/lib/gen/temporal/api/cluster/v1/message_pb.rb +67 -0
  239. data/lib/gen/temporal/api/command/v1/message_pb.rb +166 -0
  240. data/lib/gen/temporal/api/common/v1/message_pb.rb +69 -0
  241. data/lib/gen/temporal/api/enums/v1/batch_operation_pb.rb +32 -0
  242. data/lib/gen/temporal/api/enums/v1/cluster_pb.rb +26 -0
  243. data/lib/gen/temporal/api/enums/v1/command_type_pb.rb +37 -0
  244. data/lib/gen/temporal/api/enums/v1/common_pb.rb +41 -0
  245. data/lib/gen/temporal/api/enums/v1/event_type_pb.rb +67 -0
  246. data/lib/gen/temporal/api/enums/v1/failed_cause_pb.rb +71 -0
  247. data/lib/gen/temporal/api/enums/v1/namespace_pb.rb +37 -0
  248. data/lib/gen/temporal/api/enums/v1/query_pb.rb +31 -0
  249. data/lib/gen/temporal/api/enums/v1/reset_pb.rb +24 -0
  250. data/lib/gen/temporal/api/enums/v1/schedule_pb.rb +28 -0
  251. data/lib/gen/temporal/api/enums/v1/task_queue_pb.rb +30 -0
  252. data/lib/gen/temporal/api/enums/v1/update_pb.rb +28 -0
  253. data/lib/gen/temporal/api/enums/v1/workflow_pb.rb +89 -0
  254. data/lib/gen/temporal/api/errordetails/v1/message_pb.rb +84 -0
  255. data/lib/gen/temporal/api/failure/v1/message_pb.rb +83 -0
  256. data/lib/gen/temporal/api/filter/v1/message_pb.rb +40 -0
  257. data/lib/gen/temporal/api/history/v1/message_pb.rb +489 -0
  258. data/lib/gen/temporal/api/namespace/v1/message_pb.rb +63 -0
  259. data/lib/gen/temporal/api/operatorservice/v1/request_response_pb.rb +125 -0
  260. data/lib/gen/temporal/api/operatorservice/v1/service_pb.rb +20 -0
  261. data/lib/gen/temporal/api/query/v1/message_pb.rb +38 -0
  262. data/lib/gen/temporal/api/replication/v1/message_pb.rb +37 -0
  263. data/lib/gen/temporal/api/schedule/v1/message_pb.rb +128 -0
  264. data/lib/gen/temporal/api/taskqueue/v1/message_pb.rb +73 -0
  265. data/lib/gen/temporal/api/update/v1/message_pb.rb +26 -0
  266. data/lib/gen/temporal/api/version/v1/message_pb.rb +41 -0
  267. data/lib/gen/temporal/api/workflow/v1/message_pb.rb +110 -0
  268. data/lib/gen/temporal/api/workflowservice/v1/request_response_pb.rb +771 -0
  269. data/lib/gen/temporal/api/workflowservice/v1/service_pb.rb +20 -0
  270. data/lib/gen/temporal/sdk/core/activity_result/activity_result_pb.rb +58 -0
  271. data/lib/gen/temporal/sdk/core/activity_task/activity_task_pb.rb +57 -0
  272. data/lib/gen/temporal/sdk/core/bridge/bridge_pb.rb +222 -0
  273. data/lib/gen/temporal/sdk/core/child_workflow/child_workflow_pb.rb +57 -0
  274. data/lib/gen/temporal/sdk/core/common/common_pb.rb +22 -0
  275. data/lib/gen/temporal/sdk/core/core_interface_pb.rb +34 -0
  276. data/lib/gen/temporal/sdk/core/external_data/external_data_pb.rb +27 -0
  277. data/lib/gen/temporal/sdk/core/workflow_activation/workflow_activation_pb.rb +164 -0
  278. data/lib/gen/temporal/sdk/core/workflow_commands/workflow_commands_pb.rb +192 -0
  279. data/lib/gen/temporal/sdk/core/workflow_completion/workflow_completion_pb.rb +34 -0
  280. data/lib/temporal/bridge.rb +14 -0
  281. data/lib/temporal/client/implementation.rb +339 -0
  282. data/lib/temporal/client/workflow_handle.rb +243 -0
  283. data/lib/temporal/client.rb +144 -0
  284. data/lib/temporal/connection.rb +736 -0
  285. data/lib/temporal/data_converter.rb +150 -0
  286. data/lib/temporal/error/failure.rb +194 -0
  287. data/lib/temporal/error/workflow_failure.rb +17 -0
  288. data/lib/temporal/errors.rb +22 -0
  289. data/lib/temporal/failure_converter/base.rb +26 -0
  290. data/lib/temporal/failure_converter/basic.rb +313 -0
  291. data/lib/temporal/failure_converter.rb +8 -0
  292. data/lib/temporal/interceptor/chain.rb +27 -0
  293. data/lib/temporal/interceptor/client.rb +102 -0
  294. data/lib/temporal/payload_codec/base.rb +32 -0
  295. data/lib/temporal/payload_converter/base.rb +24 -0
  296. data/lib/temporal/payload_converter/bytes.rb +26 -0
  297. data/lib/temporal/payload_converter/composite.rb +47 -0
  298. data/lib/temporal/payload_converter/encoding_base.rb +35 -0
  299. data/lib/temporal/payload_converter/json.rb +25 -0
  300. data/lib/temporal/payload_converter/nil.rb +25 -0
  301. data/lib/temporal/payload_converter.rb +14 -0
  302. data/lib/temporal/retry_policy.rb +82 -0
  303. data/lib/temporal/retry_state.rb +35 -0
  304. data/lib/temporal/runtime.rb +22 -0
  305. data/lib/temporal/timeout_type.rb +29 -0
  306. data/lib/temporal/version.rb +1 -1
  307. data/lib/temporal/workflow/execution_info.rb +54 -0
  308. data/lib/temporal/workflow/execution_status.rb +36 -0
  309. data/lib/temporal/workflow/id_reuse_policy.rb +36 -0
  310. data/lib/temporal/workflow/query_reject_condition.rb +33 -0
  311. data/lib/temporal.rb +4 -0
  312. data/lib/temporalio.rb +3 -1
  313. data/lib/thermite_patch.rb +23 -0
  314. data/temporalio.gemspec +41 -0
  315. metadata +543 -9
  316. data/temporal.gemspec +0 -20
@@ -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