temporalio 0.0.0 → 0.0.2

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